1
データフレームに関数を適用したいが、その関数で使用されるパラメータを変更したい。私がしたい:データフレームに適用する関数に使用されるパラメータを変更する
- は、計算に使用するパラメータ(parameters_dfの各列)を割り当てる
- 入力
- は、いくつかの要約は計算のラウンドから通知計算などのパラメータを使用して計算を行います(この例ではスコアの平均)と私の実際のコードはMORであるパラメータデータフレームに
- 繰り返し上記のプロセスをparameters_dfからのパラメータの次の行を使用して、
これを記録eは、より多くのパラメータおよび出力の様々なより複雑な計算を合併するが、これは原則を示しています。これは私のコードである
>>> parameters_df # these are the parameters that I want to loop through
a b c mean_output # (this is what I want to calculate)
1 2 3
1 3 5
>>> calc_df
name category score # output(this is what I want to calculate)
John a 50
Jill c 60
Jenny b 70
Jeff a 80
:
def set_parameters(row):
parameter_dict = {a: row['a'], 1:row['b'], 2:row['c']}
parameter_df['output'] = parameter_df.apply(calc, axis=1)
return parameter_df['output'].mean(axis = 1)
def calc(row):
output = parameter_dict[row['parameter_df']] * 2
return output
parameters_df['mean_score'] = parameters_df.apply(set_parameters, axis = 1)
をしかし、私はこのエラーコードを取得する:
( "名前 'parameter_dict' が定義されていません"、 'インデックス0で発生した'、 'インデックス0で発生した')が
これは、calc関数を実行するときのように、setパラメータがcalc関数を計算に使用していても、set_parameters関数で定義したパラメータ辞書を見つけることができません。
私は間違っていますか?