美文网首页
5-Python-NumPy中shape和reshape的区别

5-Python-NumPy中shape和reshape的区别

作者: 千千罐 | 来源:发表于2020-10-15 11:13 被阅读0次
    shapereshape 的区别:
    • shape 直接更改原数组的结构 a.shape = (n,m)
    • reshape 不能对原数组进行操作,需要重新赋值给新的数组 b=a.reshape(n,m)
    • reshape 生成的新数组b,如果改变b里面元素的值,a的值也会更着改变

    示例如下:

    >>> import numpy as np
    >>> a = np.array([[1,2,3],[4,5,6]])
    >>> a.shape=(3,2)          #直接在a的基础上进行修改
    >>> a
    array([[1, 2],
           [3, 4],
           [5, 6]])
    
    >>> a.reshape=(3,2)      #reshape 不能和shape同样的操作,会提示错误
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'numpy.ndarray' object attribute 'reshape' is read-only
    
    >>> b = a.reshape(3,2)       #使用reshape需要重新赋值
    >>> b
    array([[1, 2],
           [3, 4],
           [5, 6]])
    
    >>> b[0,0] = 100            #更改b[0,0]元素的值
    >>> b
    array([[100,   2],
           [  3,   4],
           [  5,   6]])
    >>> a                       #可以发现a[0,0]元素也发生了改变
    array([[100,   2],
           [  3,   4],
           [  5,   6]])
    

    相关文章

      网友评论

          本文标题:5-Python-NumPy中shape和reshape的区别

          本文链接:https://www.haomeiwen.com/subject/xnunpktx.html