numpy 插入一个元素,保持数组维度的数量
Posted
技术标签:
【中文标题】numpy 插入一个元素,保持数组维度的数量【英文标题】:numpy insert an element keeping number of array dimensions 【发布时间】: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
,但它创建了一个包含所有元素的一维数组。我该怎么做?
【问题讨论】:
【参考方案1】:使用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)
应该更有效率。
【讨论】:
【参考方案2】:或使用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]]
【讨论】:
以上是关于numpy 插入一个元素,保持数组维度的数量的主要内容,如果未能解决你的问题,请参考以下文章