簡體   English   中英

多輸入Pandas功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM