【pandas】ser.apply() & df.apply()

pandas 的apply函数既适用于Series,又适用于DataFrame,是元素级(elementwise) 的运算。
 

有df如下,以此为例进行说明。

col1 col2 col3
0 1 2 3
1 4 5 6
2 7 8 9

Series

Series.apply(func, convert_dtype=True, args=(), **kwds)
Parameters
func - function, Python function or NumPy ufunc to apply.

convert_dtype - bool, default True Try to find better dtype for elementwise function results. If False, leave as dtype=object.

args - tuple, Positional arguments passed to func after the series value.

**kwds - Additional keyword arguments passed to func.
 
Returns
Series or DataFrame If func returns a Series object the result will be a DataFrame.

# 求col1每个元素的平方,以下两种方法结果相同
df['col1'].apply(np.square)
df['col1'].apply(lambda x: np.square(x))


# 自定义一个需要传递参数的函数
def calfunc(x,val):
    return x+val
# 这时上面的两种方法变为:
df['col1'].apply(calfunc,args=(5,))
df['col1'].apply(lambda x: calfunc(x,5))

# 也可以直接使用匿名函数
df['col1'].apply(lambda x: x+5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值