次のようなデータフレームがあるとします。
df = pd.DataFrame([['foo', 'x'], ['bar', 'y']], columns=['A', 'B'])
A B
0 foo x
1 bar y
次のように、データフレームに関しては、Apply で単一の引数関数を使用する方法を知っています。
def some_func(row):
return '{0}-{1}'.format(row['A'], row['B'])
df['C'] = df.apply(some_func, axis=1)
df
A B C
0 foo x foo-x
1 bar y bar-y
複数の入力引数が含まれる場合、データフレームに適用するにはどうすればよいですか? これが私が欲しいものの例です:
def some_func(row, var1):
return '{0}-{1}-{2}'.format(row['A'], row['B'], var1)
df['C'] = df.apply(some_func(row, var1='DOG'), axis=1)
df
A B C
0 foo x foo-x-DOG
1 bar y bar-y-DOG
この特定の例を解決するための回避策を探しているのではなく、一般的にこのようなことを行う方法を探しているだけです。アドバイスをいただければ幸いです。