我有几个固定形状的数据集合,我需要将这些值存储在一个数组中,只创建一个新的维度,这样我就可以保持它的初始形状。
下面是一个小例子:
arr = np.array([0,1,2])
values = np.array([[3,4,5], [6,7,8], [9,10,11]])
n = 3
for i in range(n):
arr = np.append(arr, values[n])
字符串
我需要的代码输出类似
>> array([[0,1,2],[3,4,5],[6,7,8],[9,10,11]])
型
但我只能找到
>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
型
有没有一个函数可以处理这个问题?
2条答案
按热度按时间093gszye1#
有许多函数都使用
np.concatenate
。np.append
是一个只接受2个参数的命名不佳的函数。它看起来太像列表追加,因此鼓励了像您这样的迭代使用。这样效率不高。你的问题是你没有提供axis
。在这种情况下,我更喜欢使用
vstack
。字符串
它确保第一个参数为2d,即
[[0,1,2]]
,这样concatenate
就很高兴了。concatenate
,无尺寸调整:型
随着调整。这基本上是
append
与axis
的结合:型
7gcisfzg2#
这是一个简单的。将
arr
重新整形为一个2d数组,并向np.append
添加一个轴参数。字符串
收益率:
型