社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何对数组中的每个元素执行操作,并在Python中向新数组添加新值?

Thomas • 3 年前 • 1585 次点击  

到目前为止,我已经尝试了以下几点:

import numpy as np

array = np.random.rand(10)

empty_array = np.zeros(10)

for elem in array:

    new_val = elem**2

其中,empty_array是一个由10个元素组成的数组,设置为零,我的逻辑类似于初始化一个空列表,以便在循环另一个列表或数组时添加元素。我一直在思考如何用“array”中的元素平方替换空数组中的相应元素。

任何关于如何做到这一点或更好的方法的帮助都将不胜感激!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/127921
 
1585 次点击  
文章 [ 2 ]  |  最新文章 3 年前
KH.dev
Reply   •   1 楼
KH.dev    3 年前

可以附加新值,如下所示:

import numpy as np

array = np.random.rand(10)
new_array = []
for elem in array:
    new_array.append(elem ** 2)

或者使用列表:

import numpy as np

array = np.random.rand(10)
new_array = [e**2 for e in array]
chepner
Reply   •   2 楼
chepner    3 年前

使用Numpy的一个原因是它在此类情况下的表现力。

>>> import numpy as np
>>> a = np.random.rand(10)
>>> a
array([0.94797029, 0.39628409, 0.64609633, 0.44994779, 0.23083464,
       0.60191075, 0.71651581, 0.78152364, 0.05516691, 0.22452054])
>>> a **2
array([0.89864768, 0.15704108, 0.41744046, 0.20245301, 0.05328463,
       0.36229656, 0.5133949 , 0.6107792 , 0.00304339, 0.05040947])

您不必迭代原始数组并逐步构建新数组:只需将数组本身“平方”。