如何将局部变量传递给pandas中的用户定义函数?

时间:2016-12-13 08:59:30

标签: python pandas user-defined-functions local-variables

我正在处理一个pandas数据帧df。根据{{​​1}}中的某些条件,我想将df(1)传递给用户定义的函数df或(2)传递给filter()

条件的代码是:

calculate_Result()

但是,我正在产生if df.Col1.str.contains("yes").sum() > 0: df = filter_df filter() # Loop else: df = calculate_df calculate_result() # End

当我放UnboundLocalError: local variable referenced before assignment.&函数定义本身的df = calculate_df赋值:

df = filter_df

def filter():
    df = filter_df
    ...

无论我把作业放在哪里,我都会屈服于def calculate_results(): df = calculate_df() ...

如何正确地将局部变量传递给pandas中的用户定义函数?

1 个答案:

答案 0 :(得分:0)

这与将变量传递给函数无关。

您已使用名称df来引用全局模块 - df.Col1...filter_df的结果。这会导致您看到的错误。

为局部变量使用不同的名称。