【发布时间】:2019-02-28 07:21:55
【问题描述】:
这是我在互联网上不容易找到的东西。创建np.arrays 很容易,但是如何创建一个空的以便随时追加?
【问题讨论】:
-
你不应该这样做。 Numpy 数组不是为了改变大小而设计的,首先构建列表然后转换为数组,或者初始化一个正确形状的空数组并按索引填充值(如果最终形状已知)
-
但如果你确实想要这样做,Google 搜索中的“numpy append”会给出this 作为第一个结果
-
您通常不要这样做,
numpy.ndarray对象并非旨在让您这样做。 Numpy 数组和list对象具有非常不同的性能权衡。如果你真的想这样做,请使用列表并在最后转换为数组。 -
@PhilippeFanaro 绝对不可取。
np.append是线性时间运算。使用它来填充numpy.array将创建二次时间行为。相比之下,list.append是(aritized)常数时间,因此总体而言,构建列表将是线性时间。 -
您不仅会牺牲内存,而且会在时间复杂度方面受到巨大的打击。除此之外,如果您尝试在频繁更改大小的列表上使用 numpy,则可能是时候检查一下为什么要使用
numpy。