pandas に単純なデータフレームがあります
A B
0 34 23
1 55 65
たとえば、簡単な関数の書き方を知っている
def mult_function(x):
2*x を返す
df['C']=df['A'].apply(マルチファンクション)
与える
A B C
0 34 23 46
1 55 65 130
複数の入力列を使用してこれをより複雑にする方法はありますか
そう
def mult_function(....):
出力=(2*A) + (3*B)
出力を返す
df['C']=df[....].apply(マルチファンクション)
def mult_function(A, B):
リターン 2 * A + 3 * B
df = pd.DataFrame({'A': [34, 55], 'B': [23, 65]})
df['C'] = df.apply(ラムダ x: mult_function(x.A, x.B), axis=1)
印刷(df)
または
def mult_function(x):
return 2 * x.A + 3 * x.B
df = pd.DataFrame({'A': [34, 55], 'B': [23, 65]})
df['C'] = df.apply(mult_function, axis=1)
印刷(df)
出力:
A B C
0 34 23 137
1 55 65 305
apply はここでは冗長だと思います。できること:
df['C'] = 2*df['A'] + 3*df['B']
出力
A B C
0 34 23 137
1 55 65 305