numpy插入一个保持数组维数的元素

时间:2017-07-01 04:17:35

标签: python numpy append

我有一个像这样的numpy数组:

[[1, 2, 3], [1, 2, 4]]

我希望将元素[100, 101, 102]附加到数组中,如下所示:

[[1, 2, 3], [1, 2, 4], [100, 101, 102]]

我尝试了numpy.append,但它创建了一个包含所有元素的一维数组。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

使用axis时需要指定np.append,并且值需要具有正确的形状;以下作品:

a = [[1, 2, 3], [1, 2, 4]]
b = [100, 101, 102]

np.append(a, [b], axis=0)
#array([[  1,   2,   3],
#       [  1,   2,   4],
#       [100, 101, 102]])

如果您有列表:

a.append(b)
np.array(a)

应该更有效率。

答案 1 :(得分:1)

或使用np.vstack(tup)例程:

import numpy as np

arr = np.array([[1, 2, 3], [1, 2, 4]])
arr = np.vstack((arr, [100, 101, 102]))
print(arr)

输出:

[[  1   2   3]
 [  1   2   4]
 [100 101 102]]