np.array的np.array的深层副本

发布于 2021-01-29 14:58:57

我有一个不同的numpy数组的numpy数组,我想对数组进行深层复制。我发现以下内容:

import numpy as np

pairs = [(2, 3), (3, 4), (4, 5)]
array_of_arrays = np.array([np.arange(a*b).reshape(a,b) for (a, b) in pairs])

a = array_of_arrays[:] # Does not work
b = array_of_arrays[:][:] # Does not work
c = np.array(array_of_arrays, copy=True) # Does not work
d = np.array([np.array(x, copy=True) for x in array_of_arrays])

array_of_arrays[0][0,0] = 100
print a[0][0,0], b[0][0,0], c[0][0,0], d[0][0,0]

d是执行此操作的最佳方法吗?我错过了深层复制功能吗?与大小不同的数组中的每个元素进行交互的最佳方法是什么?

关注者
0
被浏览
83
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    import numpy as np
    import copy
    
    pairs = [(2, 3), (3, 4), (4, 5)]
    array_of_arrays = np.array([np.arange(a*b).reshape(a,b) for (a, b) in pairs])
    
    a = copy.deepcopy(array_of_arrays)
    

    请随时在此处阅读更多内容。

    哦,这是最简单的测试用例:

    a[0][0,0]
    print a[0][0,0], array_of_arrays[0][0,0]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看