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

为什么np.resize()不在原位,而ndarray.resize()在原位?

  •  6
  • Chris  · 技术社区  · 6 年前

    instance.method(parameters)=class.method(instance,parameters) ,所以这只是一个符号差异。 但是 np.resize(ndarray) ndarray.resize() 地点变更。

    我错过了什么?

    1 回复  |  直到 6 年前
        1
  •  3
  •   juanpa.arrivillaga    6 年前

    是的,但是 numpy 是不是 ,它是模块。你想要的 numpy.ndarray 作为全班同学。注意:

    In [1]: import numpy as np
    
    In [2]: arr = np.array([1,2,3])
    
    In [3]: np.ndarray.resize(arr, (3,1))
    
    In [4]: arr
    Out[4]:
    array([[1],
           [2],
           [3]])
    In [5]: np.ndarray.resize(arr, (3,))
    
    In [6]: arr
    Out[6]: array([1, 2, 3])
    

    所以, numpy.resize 只是一个模块级函数,它返回 新阵列 而不是就地修改数组。