如何使用已使用函数(python)操作的数据帧

2024-09-29 19:23:32 发布

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

我正在写Jupyter笔记本。我有多个数据帧,在其中比较它们之间的数据。在比较这些数据帧之间的数据之前,我需要清理一些字符串。我需要删除双引号(“),并去掉空单元格中的NaN值

为了对一个名为df1970的数据帧执行此操作,我创建了两个函数:

df1970['Title'] = pd.Series(df1970['Title']).str.replace('"', '')
df1970= df1970.replace(np.nan, "", regex=True)

当我在下游引用df1970时,它给了我一个干净的数据帧。但是,我有一个名为df1966的数据集,我想删除双引号并替换NaN,而不必再次键入上面的全部代码。所以我创建了一个函数:

def cleanupdataset(df):
    df['Title'] = pd.Series(df['Title']).str.replace('"','')
    df= df.replace(np.nan, "", regex=True)
    return df

然后,当我打电话时:

cleanupdataset(df1966)

…它为我提供了一个非常干净的1966年数据集,我想在下游使用它

我后面的函数调用USETHISDF作为要操作的数据帧的标题。所以这一次我想用我漂亮的新的干净的df1966,所以我重新定义它:

 cleanupdataset(df1966)

 USETHISDF = df1966

但是当我打电话给它检查它是否干净的时候

 USETHISDF

它使用的是df1966的非清洁版本。我做错了什么


Tags: 数据函数dftitlenpnanreplaceseries
1条回答
网友
1楼 · 发布于 2024-09-29 19:23:32

您的函数不会就地更改初始数据帧,而是返回一个新的数据帧。要查看更改,必须使用函数的返回值:

USETHISDF = cleanupdataset(df1966)

相关问题 更多 >

    热门问题