我在 pandas 中有一個簡單的數據框
A B
0 34 23
1 55 65
我知道如何寫一個簡單的函數,例如
def mult_function(x):
返回 2*x
df['C']=df['A'].apply(mult_function)
給予
A B C
0 34 23 46
1 55 65 130
有沒有辦法讓多個輸入列變得更複雜
所以
def mult_function(....):
輸出=(2*A) + (3*B)
返回輸出
df['C']=df[....].apply(mult_function)
def mult_function(A, B):
返回 2 * A + 3 * B
df = pd.DataFrame({'A': [34, 55], 'B': [23, 65]})
df['C'] = df.apply(lambda x: mult_function(x.A, x.B), axis=1)
打印(df)
或
def mult_function(x):
返回 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