Pandas多级索引的数据累积方法

Pandas自带的数据累积方法,比如mean()、sum()、max()。而对于层级索引数据,可以设置参数level实现对数据子集的累积操作。这种语法其实就是GroupBy功能的快捷方式。

#多级行列索引
index = pd.MultiIndex.from_product([[2013, 2014], [1, 2]],
                                  names=['year', 'visit'])
columns = pd.MultiIndex.from_product([['Bob', 'Guido', 'sue'], ['HR', 'Temp']],
                                    names=['subject', 'type'])

#模拟数据
data = np.round(np.random.randn(4, 6), 1)
data[:, ::2] *= 10
data += 37

#创建DataFrame
health_data = pd.DataFrame(data, index=index, columns=columns)
health_data

#需要计算每一年各项指标的平均值,那么可以将参数level设置为索引year
data_mean = health_data.mean(level='year')
data_mean

#如果再设置axis参数,就可以对列索引进行类似的累积操作了
data_mean.mean(axis=1, level='type')

本文引自《python数据科学手册》,详情请见原书或查询Pandas官方文档。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值