pandas作图_玩转pandas之按范围分组并作图

在做数据分析时,有时候我们想要把某个属性按范围分组,在对分组后对应的另一个属性做统计分析,比如求和,求平均等分析。

例如下面的数据

3f472ccd862bdaf03b0fd4fc845d02f0.png

这里有A B两列数据,我们希望把A按范围分割成多组,比如0-10,10-20,20-50....如此等等,然后分别计算0-10,10-20....这个范围B列数据的和或者平均值,然后再画出直方图,我们该如何做呢?

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltdf = pd.DataFrame({'A': list(range(200)), 'B': np.random.randn(200)})bins = [0, 10, 20, 50, 80, 100, 120, 140, 160, 180, 200]dff = df.groupby(pd.cut(df['A'], bins=bins))['B'].sum()dff.plot(kind='bar')plt.show()

结果如下

3566404b160d958e20cbcc1f70378453.png

如果要统计平均值,只需把sum函数换为mean即可,同样如果要计数的话就是count函数

db0c99f670faf4d7acd5e22dde7d2bd4.png

计数的结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值