DataFrame的apply方法

DataFrame中的apply方法就是将函数应用到由列或行形成的一维数组上。

import pandas as pd

df=pd.DataFrame(np.random.randn(4,5),columns=list('abcde'))
# 求每列的最大值与最小值的差
a = df.apply(lambda x:x.max()-x.min())
# 求每行的最大值与最小值的差
b = df.apply(lambda x:x.max()-x.min(), axis=1)
print(a,b)

输出为

a    2.213453
b    1.198963
c    2.947490
d    3.325584
e    2.623098
dtype: float64
 0    3.759892
1    2.264123
2    3.651309
3    1.763461
dtype: float64

传递给apply的函数还可以返回由多个值组成的Series

def f(x):
    return pd.Series([x.min(),x.max()],index=['min','max'])
d=df.apply(f)
print(d)

输出位

            a         b         c         d         e
min -1.360919 -0.734977 -2.239865 -1.163558 -0.972874
max  0.852534  0.463986  0.707624  2.162025  1.650224

applymap可以将函数应用到每个元素

c = df.applymap(lambda x:x*100)
print(c)

输出位

            a          b           c           d           e
0 -136.091901  46.398574 -159.786632  216.202542  165.022380
1   85.253362 -20.692376   70.762420  129.124904  -97.287443
2    9.719120 -73.497747 -223.986547 -116.355814  141.144336
3  -31.488432  28.213371   23.224524  144.857662  -24.526428
  • 12
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值