apply在调用函数时,默认将DataFrame逐行或逐列作为一个参数代入调用的函数中,但有的函数需要多个参数,这时可以在apply里加上args=
,将其他参数组成一个元组代入函数中。
但有个前提:被调用的函数第一个参数必须是DataFrame的行或列,args=
的元组中参数位置必须和函数定义的参数位置一致
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7, 8]],
index=list('AB'),
columns=list('abcd'))
print(df)
'''
a b c d
A 1 2 3 4
B 5 6 7 8
'''
def test(x, y, z):
return x + y + z
print(df.apply(test, args=(10, 100)))
'''
a b c d
A 111 112 113 114
B 115 116 117 118
'''