220

pandas関数を 2 つの既存の列に適用して、データ フレームに新しい列を作成したいと考えています。この回答に続いて、引数として1つの列のみが必要な場合に新しい列を作成できました:

import pandas as pd
df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})

def fx(x):
    return x * x

print(df)
df['newcolumn'] = df.A.apply(fx)
print(df)

ただし、関数に複数の引数が必要な場合に同じことを行う方法がわかりません。たとえば、次の関数に列 A と列 B を渡して新しい列を作成するにはどうすればよいですか?

def fxy(x, y):
    return x * y
4

6 に答える 6

18

もう 1 つの dict スタイルのクリーンな構文:

df["new_column"] = df.apply(lambda x: x["A"] * x["B"], axis = 1)

また、

df["new_column"] = df["A"] * df["B"]
于 2016-05-01T19:54:52.790 に答える