【发布时间】:2019-02-16 10:38:27
【问题描述】:
我想初始化空的 numpy (E) 数组,然后将现有数组(D) 中的选定行附加到空数组(E)。我无法初始化与 D 的维度匹配的空数组。我该如何解决这个问题。
E = np.array([ [ ] ])
D = np.array([ [20, 23 ], [19, 23],[19,22] ])
for i in np.where(index): ## assume index value is ([0],[2])
E = np.append( E , D[i] , axis = 0)
我正在尝试达到以下结果:
E = ([ [20, 23 ], [19,22] ])
错误:除连接轴外的所有输入数组维度必须完全匹配
【问题讨论】:
-
不要模仿列表追加数组。坚持使用
E=[]和E.append(D[i]),然后再制作数组。np.append很慢,你必须了解数组维度才能创建正确的“空”数组。 -
为了使数组追加工作,
E必须从 (0,2) 形状数组开始,D[i]必须变成 (1,2) 形状数组。甚至我也不得不打猎才能做到这一点。