在类之间共享数据帧

2024-09-30 03:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个项目,它创建了许多数据帧。根据用户的输入,可以通过各种方式对它们进行操作,然后使用类函数进行显示。有时可能需要从类中更改数据帧的某些部分。所以本质上我需要将数据帧传递给类。你知道吗

现在我就这样完成了(TableDisp是类):

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

我意识到作为一种替代方法,我可以通过类似于。。。你知道吗

ui = TableDisp(self.my_df)

。。。如果我这样设置类,但是类的不同实例需要不同的df(需要清楚地标识)。也就是说,我需要做一些像。。。你知道吗

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

但是有十几个这样的。你知道吗

我现在的方法是。。。你知道吗

SettingWithCopyWarning:

。。。每当我对类中的df进行更改时,我可以忽略它,但这让我怀疑我是不是在用最python的方式进行更改。有什么想法吗?你知道吗


Tags: 数据项目方法函数用户selfnoneui
1条回答
网友
1楼 · 发布于 2024-09-30 03:24:02

对于一个简单的修复,我将使用@Chris的注释DataFrame.copy()。但是,在我看来,由于类一次只需要保存一个数据帧,因此可以将类定义简化为:

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")

相关问题 更多 >

    热门问题