有没有什么情况下,我想在Python的copy.copy()方法上使用NumPy的np.copy()?据我所知,两者都创建浅层副本,但NumPy仅限于数组。是否存在copy未考虑到的NumPy性能或特殊处理
发布于 2018-05-11 06:58:54
numpy.copy允许使用order参数对结果的内存布局进行更多控制,并且它总是生成一个数组,即使给定了其他类似数组的数组也是如此。而且,您不必单独导入copy模块。
发布于 2020-11-27 21:34:05
是的,它有副作用,对于float64类型,numpy代码比纯python快20%左右。
In [1]: import numpy as np
In [2]: from copy import copy
In [3]: arr = np.random.rand(10000, 10000)
In [4]: %timeit copy(arr)
535 ms ± 97.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
In [5]: %timeit np.copy(arr)
453 ms ± 19.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
In [6]: %timeit arr.copy()
456 ms ± 22 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)https://stackoverflow.com/questions/50282638
复制相似问题