Python 如何将一个numpy数组转移到另一个数组中
我有一个函数,它每秒返回一个numpy数组,我想将其存储在另一个数组中以供参考。对于eg(返回数组_a) 但当我打印array_collect时,我会得到一个添加的数组,而不是一个包含数组的更大数组Python 如何将一个numpy数组转移到另一个数组中,python,arrays,numpy,Python,Arrays,Numpy,我有一个函数,它每秒返回一个numpy数组,我想将其存储在另一个数组中以供参考。对于eg(返回数组_a) 但当我打印array_collect时,我会得到一个添加的数组,而不是一个包含数组的更大数组 array_collect = [ 25. 50. 25. 25. 50. 1. 1. 1. 1. 1.
array_collect = [ 25. 50. 25. 25. 50.
1. 1. 1. 1. 1.
25. 50. 25. 25. 50.
1. 1. 1. 1. 1.
25. 50. 25. 25. 50. ]
我想要的是
array_collect = [ [[ 25. 50. 25. 25. 50. ]
[1. 1. 1. 1. 1. ]]
[[ 25. 50. 25. 25. 50. ]
[1. 1. 1. 1. 1. ]]
[[ 25. 50. 25. 25. 50. ]
[1. 1. 1. 1. 1. ]] ]
如何获取它???我找到了它,这可以通过使用:
np.reshape()
形成的新阵列可以使用
y= np.reshape(y,(a,b,c))
其中a是数组存储的数量,(b,c)是原始数组的形状
将numpy导入为np
数组_collect=np.数组([[25,50,25,25,50.],[1,1,1,1,1.]))
数组a=np.数组([[2,5,2,2,5.],[1,1,1,1.]))
数组集合=np。连接((数组集合,数组a),轴=0)。重塑(2,2,5)
>>
[[[ 25. 50. 25. 25. 50.]
[ 1. 1. 1. 1. 1.]]
[[ 2. 5. 2. 2. 5.]
[ 1. 1. 1. 1. 1.]]]
您可以使用vstack
:
array_collect = np.array([[25.,50.,25.,25.,50.],[1.,1.,1.,1.,1.]])
array_a = np.array([[2.,5.,2.,2.,5.],[1.,1.,1.,1.,1.]])
array_collect=np.vstack((array_collect,array_a))
但是,如果您提前知道总分钟数,则最好先定义数组(例如,使用零
)并逐渐填充它-这样,更容易保持在内存限制内
no_minutes = 5 #say 5 minutes
array_collect = np.zeros((no_minutes,array_a.shape[0],array_a.shape[1]))
然后,每一分钟,我
array_collect[m] = array_a
array_collect[m] = array_a