将具有常量参数的函数应用于pandas数据帧

时间:2017-10-10 12:58:00

标签: python pandas apply

我有一个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

1 个答案:

答案 0 :(得分:2)

$string['data'] = array_column($string['data'],'A'); 列中的输出略有不同。如果需要按行处理,请将c添加到apply

axis=1
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