[Python] Numpy中array和asarray的区别

[Numpy] array与asarray的区别

比较

  • 相同点:array和asarray都能将结构数据转换成ndarray数组(copy原数据生成新的副本)
  • 区别:数据源为ndarray时,array仍会copy原数据生成一个副本,asarray不会copy原数据,而是直接使用原数据。

实例对比

实例1:当原结构数据为列表时

代码

import numpy as np

def simply1():

    data = [[1,1,1],[1,1,1],[1,1,1]]
    data1 = np.array(data)
    data2 = np.asarray(data)

    data[1][1] = 2
    
    print(data)
    print(data1)
    print(data2)
    
if __name__ == "__main__" :
    simply1()
    

运行结果

实例1

实例2:当原数据为ndarray数组时

代码

import numpy as np

def simply2():

    data = np.ones((3,3))
    data1 = np.array(data)
    data2 = np.asarray(data)

    data[1] = 2

    print(data)
    print(data1)
    print(data2)

if __name__ == "__main__" :
    simply2()

运行结果

实例2

猜你喜欢

转载自blog.csdn.net/qq_30445397/article/details/107449839