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 插入一个元素,保持数组维度的数量的主要内容,如果未能解决你的问题,请参考以下文章

python数据分析模块:numpy、pandas全解

NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值

Numpy常用操作

SimpleJSON 和 NumPy 数组

保持 Numpy 数组 2D

设计一个java函数,在数组的第i个下标前插入一个数据元素,并保持数组元素的连续性... 哪位大侠指点我哈.