[英]Multi-input Pandas fucntion
我在 pandas 中有一個簡單的 dataframe
A B
0 34 23
1 55 65
我知道如何編寫一個簡單的函數,例如
def mult_function(x):
return 2*x
df['C']=df['A'].apply(mult_function)
給予
A B C
0 34 23 46
1 55 65 130
有沒有一種方法可以使多個輸入列變得更復雜
所以
def mult_function(....):
output=(2*A) + (3*B)
return output
df['C']=df[....].apply(mult_function)
def mult_function(A, B):
return 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)
print(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)
print(df)
Output:
A B C
0 34 23 137
1 55 65 305
我認為 apply 在這里是多余的。 你可以做:
df['C'] = 2*df['A'] + 3*df['B']
Output
A B C
0 34 23 137
1 55 65 305
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.