【发布时间】:2021-03-07 11:08:01
【问题描述】:
问题
我想连接多个具有形状 (1, N) 的二维 numpy 数组。
例如,假设我想连接多个np.array([1, 1])。
我的低效解决方案
一种非常低效的方法如下:
main_array = np.array([])
for i in range(0, 10):
if main_array.size == 0:
# necessary step otherwise the first time the two arrays have different shapes
main_array = np.expand_dims(np.array([1, 1]), 0)
else:
main_array = np.concatenate((main_array, np.expand_dims(np.array([1, 1]), 0)))
正如预期的那样,结果是一个形状为 (10, 2) 的 numpy 数组。
问题
我怎样才能让这个操作更有效率?
编辑:
在我的示例中,为了简单起见,我添加了 10 次相同的数组。这可能令人困惑,因为我实际上正在寻找一种有效的方法来添加 any 数组,而不必是相同的。
【问题讨论】:
-
np.vstack([list of arrays])? -
对整个数组列表进行一个连接。列表理解或追加比重复连接更有效。