Python Pandas DataFrame 用户定义函数转换

Python Pandas DataFrame User Defined Function Transformations

我有几个 DataFrame,我正在清理数据。以下代码独立工作(在函数之外),但是,我必须将它应用于许多 DataFrame 并希望通过用户定义的函数清理此过程。 您能否帮助修复以下问题,以便它可以用于我的所有数据帧。

def format_df(df):
    df.columns = df.columns.str
    df.dropna(thresh=1, axis='columns',inplace = True)
    df.dropna(thresh=80,axis=0,inplace = True)    
    df.columns = df.iloc[0]
    df = df.iloc[1:].reset_index(drop=True)
    df.columns = df.columns.str.replace(' ','',regex=False)
    df.columns = df.columns.str.replace('($)','',regex=False)
    df.columns = df.columns.str.replace('(Y/N)','Flag',regex=False)
    df.columns = df.columns.str.replace('(x)','',regex=False)
    df.columns = df.columns.str.replace('-','',regex=False)
    return df

df.columns = df.columns.str 不会到 运行 因为 df.columns.str 是一个字符串方法而 df.columns 是一个索引。相反,您可以使用 astype 方法:

df.columns = df.columns.astype(str)