apply,map,applymap总结

本文介绍了Pandas库中apply、map及applymap函数的应用场景与使用方法,并通过实例展示了如何利用这些函数对DataFrame和Series进行高效的数据处理。

Python中apply,map,applymap总结

pandas中DataFrame 数据类型,使用map,apply方法使用较多,做一下总结。参考https://www.cnblogs.com/cymwill/p/7577369.html

总结:

  • apply 用在dataframe上,用于对row或者column进行计算;
  • applymap 用于dataframe上,是元素级别的操作;
  • map (其实是python自带的)用于series上,是元素级别的操作。
df = pd.DataFrame(np.random.randint(0,10,(4, 3)), columns=list('bde'), index=range(4))
df
    b    d    e
0    4    9    3
1    3    1    0
2    4    8    0
3    2    9    9
apply:作用在dataframe的一行或一列上,也可以作用在series上

定义一个函数,

f = lambda x: x.max() - x.min()

这个函数可以结合apply作用在DataFrame类型的行或者列上

# 和加上axis = 0 ,默认是作用在列上
df.apply(f)
b    2
d    8
e    9
dtype: int64
    
# axis = 1 ,默认是作用在行上
df.apply(f,axis =1)
0    6
1    3
2    8
3    7
dtype: int64

关于apply 传入多参数

def test(a,b):
    return a,b
df['d'].apply(test,args=('ok',))
# args只能传入(元组)
0    (9, ok)
1    (1, ok)
2    (8, ok)
3    (9, ok)
Name: d, dtype: object
applymap: 作用在dataframe的每一个元素上

定义f2函数

f2 = lambda x: x+1 if x%2==0 else x

applymap 会将函数作用在DataFrame每一个元素上

df.applymap(f2)
    b    d    e
0    5    9    3
1    3    1    1
2    5    9    1
3    3    9    9
map:作用将函数作用于一个Series的每一个元素
df['b'].map(f2)
0    5
1    3
2    5
3    3
Name: b, dtype: int64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值