私は毎月新しいデータを持っており、変更できる列がいくつかあります。
次のような関数を使用して、データフレームに新しい列を作成したいと思います。
def calcul(**kwargs):
[...]
return result
私はそのような私のコラムを作成します:
df['result'] = df.apply(lambda x: calcul(x['A1'], x['A2'], x['B1']), axis = 1)
しかし、私もこのケースを持つことができます:
df['result'] = df.apply(lambda x: calcul(x['A1'], x['A2'], x['A3'], x['B1', x['B2']), axis = 1)
データに応じて引数のリストを作成し、sys.stdout.write()でリストを入力しようとしましたが、機能しません
liste = ["x[\'A1\']", "x[\'A2\']", "x[\'B1\']"]
df['result'] = df.apply(lambda x: calcul(sys.stdout.write(", ".join(liste))), axis = 1)
置き換えることができるIIUC:
df['result'] = df.apply(lambda x: calcul(x['A1'], x['A2'], x['B1']), axis = 1)
と:
cols = ['A1', 'A2', 'B1']
df['result'] = df.apply(lambda x: calcul(*[x[c] for c in cols]), axis=1)
ここで、colsは、変更される列のリストです。
*
それはあなたの元の行に相当しますので、リストをアンパック。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加