在Pandas中的整个数据帧上应用用户定义的函数

2024-09-29 19:36:41 发布

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

我必须对多个CSV文件执行相同的数据清理。我写了一个函数来实现它,但我没有得到任何解决方案。我知道要使用用户定义的函数,我们必须使用apply()函数,但这些函数用于行和列,我想在整个数据帧中使用。 我的功能代码如下:

def transform_data(df):
   # split into multiple columns
   df = pd.concat([df['Unnamed: 0'], df['NFHS-5'].str.split(' ', expand=True),
                df['Unnamed: 2'], df['NFHS-4']], axis=1)
   # rename columns
   df = df.rename(columns={0: 'AP_NFHS_5_Urban', 2: 'AP_NFHS_5_Rural', 4: 'AP_NFHS_5_Total',
                        'Unnamed: 0': 'State_NFHS', 'NFHS-4': 'AP_NFHS_4'})
   # join 2 columns
   df['AP_NFHS_5_Total'] = df['AP_NFHS_5_Total'].fillna(df['Unnamed: 2'])
   # remove null columns
   df = df.dropna(subset=['AP_NFHS_5_Total'])
   df = df.dropna(subset=['AP_NFHS_5_Rural'])
   return df

我该怎么称呼它?我能做到吗? 任何帮助都将不胜感激。谢谢


Tags: columns文件csv数据函数dftotalap

热门问题