-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
不,這沒有任何意義,與您發佈的代碼或您遇到的問題無關。在一個函數中「重命名」一個變量對於如何將它傳遞給另一個函數完全沒有任何作用。你應該發佈足夠的代碼,以便我們可以看到你實際在做什麼。 –