11,np 常用函数 : 深浅拷贝

    技术2022-09-01  93

    1 ,浅拷贝 : 同一对象 nd02 = nd01

    代码 : if __name__ == '__main__': nd01 = np.arange(12).reshape(2,6) nd02 = nd01 print(nd01 is nd02) ================================= True

    2 ,半深拷贝 : 不同对象,同一元素 nd02 = nd01.view()

    代码 : 元素会同步改变 if __name__ == '__main__': nd01 = np.arange(12).reshape(2,6) nd02 = nd01.view() print(nd01 is nd02) nd01[0,2] = 999 print(nd01) print(nd02) ================================ False [[ 0 1 999 3 4 5] [ 6 7 8 9 10 11]] [[ 0 1 999 3 4 5] [ 6 7 8 9 10 11]]

    3 ,深度拷贝 :完全不同

    代码 : if __name__ == '__main__': nd01 = np.arange(12).reshape(2,6) nd02 = nd01.copy() print(nd01 is nd02) nd01[0,2] = 999 print(nd01) print(nd02) ==================================== False [[ 0 1 999 3 4 5] [ 6 7 8 9 10 11]] [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]]
    Processed: 0.012, SQL: 9