我对python相当陌生,有一个愚蠢的问题。我查找答案,找不到,所以我在这里(StackOverflow上的第一个问题,如果有任何错误,请原谅)。在
我有一个功能(功能。储液罐)那很好用。它以一个复杂的numpy2d数组和一个浮点值作为参数。它返回另一个复杂的numpy2d数组。我尝试将所有这些返回值保存在一个新的numpy数组中。 问题是第一个print命令给了我正确的值,这意味着我的函数工作正常。但是在for循环之外,当我打印l变量时,所有元素都有相同的值,即最后一个元素应该具有的值。在
你能告诉我我做错了什么吗?在
您可以帮助我的另一件事是将这些返回值保存为一个3D numpy数组。我不想使用vstack,因为有时候我的循环迭代4000次,vstack会大大降低速度。我现在要做的是将numpy数组保存为对象,然后稍后从这个iterable创建一个新数组。如果有更好的办法,请告诉我。提前谢谢
k= np.zeros((400,3), dtype=np.complex128)
l= np.empty(noPoints1, dtype=object)
for i in xrange(noPoints1):
l[i] = functions.Reservoir(k, data[ OFFSET1+ Discard +i] )
print l[i]
k=l[i]
print l
以下是我的代码:
^{pr2}$我尝试了HYRY(Collecting results from a loop that returns NumPy Arrays)的答案,但是对于所有元素我仍然得到相同的值。在
你好像总是在同一个阵列上工作。在
k=l[i].copy()
中进行更改将确保在每一步都处理一个新数组。在Reservoir
中的return y
没有在 docs:相关问题 更多 >
编程相关推荐