代码之家  ›  专栏  ›  技术社区  ›  Ben

如何在NumPy中创建一个空数组并附加到它?

  •  441
  • Ben  · 技术社区  · 17 年前

    xs = []
    for item in data:
        xs.append(item)
    

    我可以使用这种列表样式符号吗 NumPy

    16 回复  |  直到 4 年前
        1
  •  0
  •   Shital Shah    2 年前

    这是有效使用NumPy的错误思维模式。NumPy数组存储在连续的内存块中。要将行或列附加到现有数组,需要将整个数组复制到新的内存块中,为要存储的新元素创建间隙。如果重复这样做,效率会非常低。

    >>> import numpy as np
    
    >>> a = np.zeros(shape=(3, 2))
    >>> a
    array([[ 0.,  0.],
           [ 0.,  0.],
           [ 0.,  0.]])
    
    >>> a[0] = [1, 2]
    >>> a[1] = [3, 4]
    >>> a[2] = [5, 6]
    
    >>> a
    array([[ 1.,  2.],
           [ 3.,  4.],
           [ 5.,  6.]])