如何将自定义函数传递给dataframe.apply和row(axis = 1)以外的参数

时间:2018-12-17 18:44:33

标签: python-3.x pandas

我正在使用自动生成脚本的脚本,该脚本使用 df.apply()如下所示自动生成 完整文件路径 列。

def generate_filepath(row):
    all_files = os.listdir(files_dir)
    if row['FileName'] not in all_files:
        return None
    value = os.path.join(files_dir, row['FileName'])
    return value


csv_df['FilePath'] = csv_df.apply(generate_filepath, axis=1)

我必须将 files_dir 声明为全局变量,然后在函数中使用它。除了df.apply之外,我还有其他参数可以传递吗? 请为我提供良好的建议

1 个答案:

答案 0 :(得分:0)

为什么不咖喱您的功能?

https://www.python-course.eu/currying_in_python.php

或添加另一个参数?

编辑:乔恩·克莱门茨的回答比我的要好