列表到 Numpy 数组

List to Numpy array

Python 这里是新手。我有一个大小为 9 的数组列表。列表中的每个元素都包含一个大小为 (1,7) 的 numpy 数组。如何将列表转换为大小为 (9,7) 的 numpy 数组?

谢谢!

如何将一系列水平向量放入一个数组中

np.array(a).reshape(len(a), a[0].shape[1])
np.vstack(a)
np.r_[(*a,)]

np.array(a).squeeze() 只有知道 才适用,所以你不会不小心把它们丢掉。

至于速度,似乎 squeezereshape 比其他的要好,但这似乎只适用于小型阵列,例如大小为 100 x 100:

的数组

在大尺寸下,工作速度变得相当,例如1000 x 1000:

给定足够大的尺寸,reshapevstack 具有可比性并且性能优于其他尺寸,例如10 000 x 10 000:

np.array(...).reshape(...) 在不同尺寸下显示出同样好的结果而言,这似乎是一个不错的选择。尽管我更喜欢 vstack 作为更清晰且性能合理的选项。


p.s。当然,性能取决于硬件并且可能会有所不同。我想证明在这种情况下没有灵丹妙药。