我有一个阵列吧
`(datetime.datetime(2017, 4, 27, 0, 0), 2970.0, 3018.0, 2958.0, 3016.0, 4814822.0),
(datetime.datetime(2017, 4, 28, 0, 0), 3035.0, 3115.0, 3026.0, 3115.0, 6604372.0)],
dtype=[('Timestamp', 'O'), ('open', '<f8'), ('high', '<f8'), ('low', '<f8'), ('close', '<f8'), ('atr', '<f8')])`
我想将其硬拷贝到另一个数组中,并更改目标数组的列名:
destBars = bars.copy()
destBars.dtype.names=['Timestamp','hl','oh','ol','tr','atr']
bars.dtype.names
('Timestamp', 'hl', 'oh', 'ol', 'tr', 'atr')
但是之后,bars列也发生了变化。这不是我所期望的,我希望
bars.dtype.names
保持不变。有人可以解释什么是错的,我该怎么办?
最佳答案
代替copy
,使用deepcopy
模块的copy
。
尝试下面的代码并检查
import copy
destBars = copy.deepcopy(bars)
关于python - 复制数组并保留其列名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44204301/