多輸入 Pandas 功能


我在 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