-1
我正在处理一个熊猫数据框df
。根据df
中的特定条件,我想将df
(1)传递给用户定义的函数filter()
或(2)至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
...
and
def calculate_results():
df = calculate_df()
...
无论身在何处,我把作业,我得到UnboundLocalError: local variable referenced before assignment.
如何正确地传递一个局部变量来在大熊猫用户定义的函数?
我不太确定,如果我明白。如果符合df中的某些条件,我想重命名它并继续在函数def1中使用它。如果条件不满足,我想继续在函数def2中使用它。因此,在检查条件时,名称df必须相同(1),并且(2)在函数内。我想根据数据框内的条件将相同的数据帧传递给不同的函数。 – sudonym
不,这没有任何意义,与您发布的代码或您遇到的问题无关。在一个函数中“重命名”一个变量对于如何将它传递给另一个函数完全没有任何作用。你应该发布足够的代码,以便我们可以看到你实际在做什么。 –