未在函数中覆盖熊猫数据框

时间:2020-10-25 20:39:39

标签: python pandas dataframe global-variables

所以这是我的第一个问题。请让我知道我没有使用哪些样式指南。 :)

我有一个数据框,并且在函数内,我创建了一个副本并在函数内使用此副本。第一次调用该函数可以正常工作。第二次给出错误。

df_general = pd.read_excel("somedata.xlsx")

def my_func():

    df_within = df_general
    
    # some work with df_within, e.g. adding a column

    return

我发现的原因:df_within未设置回df_general-好像语句df_within = df_general没有被占用(但在第一次使用该函数时被占用了)

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定我是否已经完全理解你的目的。

如果您试图对其进行复制,以使df_within的更改不会影响df_general,则可以使用熊猫的copy()方法,如下所示:

df_general = pd.read_excel("somedata.xlsx")

def my_func():

    df_within = df_general.copy()  # This will create a non-referenced copy by allocating new memory.

    # some work with df_within, e.g. adding a column

    return

您也已经第二次声明自己有错误,向我们展示该错误是一个好主意。