Python 3.x 多个嵌套函数输出

Python 3.x 多个嵌套函数输出,python-3.x,pandas,Python 3.x,Pandas,我试图从一个数据帧中获得多个函数作为嵌套函数的结果 例如,2个功能: def carr(df): df['carr'] = df[['end_value_carr','arr']].max(axis=1) return df 当我单独使用每一个时,我得到了正确的输出 但是,尝试将它们嵌套在一个函数中会给我一个非类型: def cleanup(data): df = data.copy() def carr(df): df['carr'] = df

我试图从一个数据帧中获得多个函数作为嵌套函数的结果

例如,2个功能:

def carr(df):
    df['carr'] = df[['end_value_carr','arr']].max(axis=1)
    return df
当我单独使用每一个时,我得到了正确的输出

但是,尝试将它们嵌套在一个函数中会给我一个非类型:

def cleanup(data):
    df = data.copy()
    def carr(df):
        df['carr'] = df[['end_value_carr','arr']].max(axis=1)
        return df
    def date(df):
        df['date_id'] = pd.to_datetime(df['date_id']).dt.date
        df['renewal_date'] = pd.to_datetime(df['renewal_date']).dt.date
        df['next_renewal_date'] = pd.to_datetime(df['next_renewal_date']).dt.date
        return df
    return df
谢谢你的帮助!
谢谢

分别定义这三个功能

def carr(df):
    df['carr'] = df[['end_value_carr','arr']].max(axis=1)
    return df

def date(df):
    df['date_id'] = pd.to_datetime(df['date_id']).dt.date
    df['renewal_date'] = pd.to_datetime(df['renewal_date']).dt.date
    df['next_renewal_date'] = pd.to_datetime(df['next_renewal_date']).dt.date
    return df
在第三个函数中调用前两个函数

def cleanup(data):
    df = data.copy()
    df = carr(df)
    df = date(df)
    return df
然后您可以调用
cleanup
函数,该函数将单独调用
carr
date

df = cleanup(df)
df = cleanup(df)