gpt4 book ai didi

python - 在类之间共享 pandas 数据框

转载 作者:行者123 更新时间:2023-12-01 00:34:34 24 4
gpt4 key购买 nike

我有一个项目,它创建了许多 pandas 数据框。根据用户输入以各种方式操作它们,然后使用类函数显示。有时可能需要从类中更改数据帧的部分内容。所以本质上我需要将数据帧传递给类。

现在我正在完成这个(其中 TableDisp 是类):

ui = TableDisp()
self.ui.my_df = self.my_df

我意识到作为一种替代方案,我可以通过类初始化,比如......

ui = TableDisp(self.my_df)

...如果我以这种方式设置类,但类的不同实例需要不同的 df(需要明确标识)。 IE。我需要做一些类似的事情...

class TableDisp(Frame):
def __init__(self, my_df=None, another_df=None, more_df=None, still_more_df=None):

但是有十几个这样的。

我当前的方法正在抛出...

SettingWithCopyWarning:

...每当我从类中对 df 进行更改时,我可以忽略它,但这让我想知道我是否以最Pythonic的方式这样做。有什么想法吗?

最佳答案

对于一个简单的修复,我会使用 DataFrame.copy() 来接受 @Chris 的评论。然而,在我看来,由于该类一次只需要保存一个数据帧,因此您可以像这样简化类定义:

class TableDisp(Frame):
def __init__(self, df=None, df_type=None):
if df_type == "type1":
# Format df in a specific way
elif df_type == "type2":
# You get the idea
else:
raise ValueError("Unrecognised df_type")

关于python - 在类之间共享 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57904365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com