【发布时间】:2017-12-05 01:15:26
【问题描述】:
我有一个像这样的 numpy 数组:
[[1, 2, 3], [1, 2, 4]]
我想像这样将一个元素 [100, 101, 102] 附加到数组中:
[[1, 2, 3], [1, 2, 4], [100, 101, 102]]
我尝试了numpy.append,但它创建了一个包含所有元素的一维数组。我该怎么做?
【问题讨论】:
我有一个像这样的 numpy 数组:
[[1, 2, 3], [1, 2, 4]]
我想像这样将一个元素 [100, 101, 102] 附加到数组中:
[[1, 2, 3], [1, 2, 4], [100, 101, 102]]
我尝试了numpy.append,但它创建了一个包含所有元素的一维数组。我该怎么做?
【问题讨论】:
使用np.append时需要指定axis,并且该值需要具有正确的形状;以下作品:
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)
应该更有效率。
【讨论】:
或使用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]]
【讨论】: