-1
私はパンダのデータフレームdf
を処理しています。 df
の特定の条件に応じて、df
(1)をユーザ定義関数filter()
またはcalculate_Result()
に渡したいとします。条件のためのコードがされローカル変数をpandasのユーザ定義関数に渡すにはどうすればいいですか?
:
:しかし、私はUnboundLocalError: local variable referenced before assignment.
を得ています
if df.Col1.str.contains("yes").sum() > 0:
df = filter_df
filter() # Loop
else:
df = calculate_df
calculate_result() # End
私は関数定義そのものでdf = calculate_df
& df = filter_df
割り当てを入れたときにも、このエラーを取得しておきます
def filter():
df = filter_df
...
および
def calculate_results():
df = calculate_df()
...
私は割り当てを置くどんなに 、私は正しくパンダ内のユーザー定義関数にローカル変数を渡す方法UnboundLocalError: local variable referenced before assignment.
をもたらすのでしょうか?
わかっているのかどうか分かりません。 dfの特定の条件が満たされている場合、名前を変更して関数def1で引き続き作業したいと思います。条件が満たされていない場合、私は関数def2でそれを使用し続けたいと思います。したがって、dfという名前は、条件を確認するときには同じ(1)、関数内では(2)でなければなりません。私は、データフレーム内の条件に応じて、同じデータフレームを異なる機能に渡したいと考えています。 – sudonym
いいえ、それは意味をなさない、あなたが投稿したコードやあなたが持っている問題とは関係がありません。ある関数の変数の名前を変更することは、他の関数に渡す方法とはまったく関係ありません。あなたが実際に何をしているかを見るために十分なコードを掲示するべきです。 –