Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python StyleFrame对象的深度复制_Python_Copy_Styleframe - Fatal编程技术网

Python StyleFrame对象的深度复制

Python StyleFrame对象的深度复制,python,copy,styleframe,Python,Copy,Styleframe,如何制作StyleFrame对象的浅拷贝或深拷贝? 当我使用copy.copy(sf)或copy.deepcopy(sf)时,我得到错误: “递归错误:调用Python对象时超过最大递归深度” 导入副本 从StyleFrame导入StyleFrame 作为pd进口熊猫 df=pd.DataFrame([list('abc')])) sf=样式框(df) 拷贝,拷贝(sf) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“C:\python\python373\lib\copy.py”

如何制作StyleFrame对象的浅拷贝或深拷贝? 当我使用copy.copy(sf)或copy.deepcopy(sf)时,我得到错误: “递归错误:调用Python对象时超过最大递归深度”

导入副本
从StyleFrame导入StyleFrame
作为pd进口熊猫
df=pd.DataFrame([list('abc')]))
sf=样式框(df)
拷贝,拷贝(sf)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\python\python373\lib\copy.py”,第106行,复制
返回(x,无,*rv)
文件“C:\python\python373\lib\copy.py”,第281行,在
如果hasattr(y),\uuuu设置状态\uuuu'):
文件“C:\python\python373\u vm1\lib\site packages\StyleFrame\style\u frame.py”,第121行,在\uuu getattr中__
如果attr位于self.data_df.columns中:
文件“C:\python\python373\u vm1\lib\site packages\StyleFrame\style\u frame.py”,第121行,在\uuu getattr中__
如果attr位于self.data_df.columns中:
文件“C:\python\python373\u vm1\lib\site packages\StyleFrame\style\u frame.py”,第121行,在\uuu getattr中__
如果attr位于self.data_df.columns中:
[上一行重复了495次]
RecursionError:调用Python对象时超出了最大递归深度

只需将原始StyleFrame对象传递给
StyleFrame
。在内部,它将深度复制底层数据帧,还将复制一些内部属性

sf = StyleFrame({'a': [1, 2]})
print(id(sf))
new_sf = StyleFrame(sf)
print(id(new_sf))
输出

1971232017152
1971267198144

直接复制数据时,我有点担心内部属性。但是用现有的StyleFrame对象实例化StyleFrame消除了这个问题。StyleFrame(sf)似乎可以正常工作,但它在以下情况下会抛出一个错误:
sf=StyleFrame.read\uExcel(r'C:\temp\test.xlsx',sheet\name='Sheet1',read\uStyle=True,use\openpyxl\uStyles=True)
sf2=StyleFrame(sf)
sf3=StyleFrame(sf2)
TypeError:\uuuu init\uuuu()缺少1个必需的位置参数:“工作表”
`
1971232017152
1971267198144