我有一個使用 Numpy 生成的包含十個隨機值的陣列。我想通過遍歷所有十個元素來對陣列中的每個元素執行操作,然后將每個元素的結果添加到一個新陣列中。遍歷陣列的第一部分,但我被困在如何將結果添加到新陣列中。
到目前為止,我已經嘗試了一些類似的東西:
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'中元素的平方替換empty_array的相應元素。
任何有關如何做到這一點或更好的方法的幫助將不勝感激!
uj5u.com熱心網友回復:
使用 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])
您不必遍歷原始陣列并逐步構建新陣列:您只需“平方”陣列本身即可。
uj5u.com熱心網友回復:
您可以附加新值,例如:
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]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438467.html
