从另一个Numpy数组的行初始化空Numpy数组

时间:2016-12-18 06:13:05

标签: python arrays numpy

遇到numpy问题。如果我有一个空数组,如下所示:

ss << hex << setw(2) << setfill('0') << (int)hash[i];

基本上我如何使用另一个向量的每一行初始化空vec的前13行?

2 个答案:

答案 0 :(得分:0)

只需使用切片:

genrevec[:13, :] = another_vec

以下是一个例子:

In [12]: a = np.zeros((10, 3))

In [13]: b = np.random.randint(0, 10, (4, 3))

In [14]: a[:4,:] = b

In [15]: a
Out[15]: 
array([[ 1.,  6.,  4.],
       [ 0.,  2.,  1.],
       [ 9.,  2.,  3.],
       [ 8.,  7.,  9.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

答案 1 :(得分:0)

如果您已拥有所有向量,则只需concatenate

>>> import numpy as np
>>> # Some small test arrays
>>> a1 = np.ones((3, 2))
>>> a2 = np.ones((3, 2)) * 2
>>> a3 = np.ones((3, 2)) * 3

>>> np.concatenate([a1, a2, a3], axis=0)
array([[ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.],
       [ 2.,  2.],
       [ 2.,  2.],
       [ 2.,  2.],
       [ 3.,  3.],
       [ 3.,  3.],
       [ 3.,  3.]])

当然,您需要用矢量替换a1等等。