为什么pandas中的apply函数会计算两次?
- 论坛
- 为什么pandas中的apply函数会计算两次?
49 浏览
为什么pandas中的apply函数会计算两次?
我正在对pandas的DataFrame对象使用apply方法。当我的DataFrame只有一列时,似乎应用的函数被调用了两次。问题是为什么?我能停止这种行为吗?
代码:
import pandas as pd def mul2(x): print ('hello') return 2*x df = pd.DataFrame({'a': [1,2,0.67,1.34]}) df.apply(mul2)
输出:
hello hello 0 2.00 1 4.00 2 1.34 3 2.68
我在被应用的函数中打印了'hello'。我知道它被应用了两次,因为'hello'打印了两次。更重要的是,如果我有两列,'hello'会打印3次。更重要的是,当我只对列应用apply时,'hello'会打印4次。
代码:
df.a.apply(mul2)
输出:
hello hello hello hello 0 2.00 1 4.00 2 1.34 3 2.68 Name: a, dtype: float64