簡體   English   中英

將具有常量參數的函數應用於pandas數據幀

[英]apply function with constant parameter to pandas dataframe

我有一個pandas數據幀,我創建了一個函數。 我想將此函數應用於數據幀的每一行。 但是,該函數有第三個參數,它不是來自數據幀,而且是常量。

import pandas as pd

df = pd.DataFrame(data = {'a':[1, 2, 3], 'b':[4, 5, 6]})

def add(a, b, c):
    return a + b * c

df['c'] = add(df['a'], df['b'], 2)

我想我必須使用apply函數,但我不知道如何傳遞這個常量參數。

print df
>>    a  b   c
>> 0  1  4  10
>> 1  2  5  14
>> 2  3  6  18

我在c列中得到了一點不同的輸出。 如果需要按行處理,請添加axis=1apply

df['c'] = add(df['a'],df['b'],2)
df['d'] = df.apply(lambda x: add(x['a'], x['b'], 2), axis=1)
print (df)
   a  b   c   d
0  1  4   9   9
1  2  5  12  12
2  3  6  15  15

def add(a,b,c):
    #operator precedence, need ()
    return (a + b) * c

df['c'] = add(df['a'],df['b'],2)
df['d'] = df.apply(lambda x: add(x['a'], x['b'], 2), axis=1)
print (df)
   a  b   c   d
0  1  4  10  10
1  2  5  14  14
2  3  6  18  18

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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