如何深度复制具有动态添加属性的对象?

pm740

我偶然发现了这个问题,deepcopy 实际上并没有复制带有“动态”添加属性的整个对象。为什么会这样,有什么解决办法吗?

例子:

import pandas as pd
from copy import deepcopy
frame_one = pd.DataFrame({'hello': [1,2,3], 'world': [4,5,6]})
frame_one.name = 'foo'
frame_two = deepcopy(frame_one)
frame_two.name

错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "a_path\pandas\core\generic.py", line 5478, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'name'
圣马加里尼奥斯

这些属性不会被复制,因为 pandas 覆盖了deepcopy

您可以在第一个 deepcopy 之后添加:

frame_two.__dict__ = deepcopy(frame_one.__dict__)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何深度复制具有包装功能的对象?

具有属性的深度复制Javascript数组

具有动态添加属性的Django模型对象

如何在多个对象中插入具有动态值的属性或在多个数组中动态添加元素?

如何深度复制对象

如何为具有动态属性的扩展对象创建类型

如何建模具有动态属性的对象?

如何动态创建具有只读属性的对象

如何动态合并两个具有不同深度的对象

将对象属性(包括具有私有设置器的属性)深度复制到另一个相同类型的对象

如何通过Javascript中的任意属性制作具有无限深度的对象?

创建具有动态属性的对象数组

动态创建具有通用属性的对象

具有动态名称的嵌套对象属性

具有动态属性的伪造对象

具有动态已知属性的 Typescript 对象

System.arraycopy()具有原始和对象引用的浅表复制或深度复制

如何复制具有属性的目录本身?

添加具有多个属性的对象

如何在Realm中深度复制包含RealmList作为属性的对象,而RealmList对象没有引用同一对象

实体框架6具有动态深度的实体的深层复制/克隆

如何减少具有特定属性深度的数组

如何定义具有动态属性的类?

如何使Vue.js对动态添加的数组属性的更改具有反应性?

如何将具有'd'属性的路径动态添加到svg

如何将具有动态属性的值添加到 config.json 文件中

如何在TypeScript中为具有动态属性的对象定义类型

如何在Elastic Search中增加具有动态属性的嵌套对象?

如何使用jdoc描述接收具有动态属性(如json模式)的复杂对象的函数