数据分析利器Python——Pandas(三、层级索引、分组聚合、透视表)

本文深入探讨了Python数据分析库Pandas的高级用法,包括层级索引的设置和选择、分组聚合的原理及操作,以及透视表、数据合并与连接、数据重构的实践。介绍了如何自定义分组和聚合,以及使用pivot_table创建透视表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、层级索引

它是一个MultiIndex对象
设置多个列索引:set_index([‘a’,‘b’],inplace=True),注意a,b顺序,若不同则有区别
选取子集:

  • 外层选取:loc[‘outer_index’]
  • 内层选取:loc[‘outer_index’,‘inner_index’]

交换层级顺序:swaplevel()
层级索引排序:sort_index(level=)

二、分组聚合

2.1、介绍

分组:对数据集进行分组 ,然后对每组进行统计分析
聚合:数组产生标量的过程,如mean(),count()等,常用于对分组后的数据进行计算。
分组运算过程:

  • 拆分:进行分组的根据
  • 应用:每个分组运行的计算规则
  • 合并:把每个分组的计算结果合并起来

内置的聚合函数:sum()、mean()、max()、min()、count()

2.2、分组操作

(1) 按单列分组
obj.groupby(‘label’)
(2)多列分组
obj.groupby([‘label’,‘label2’])产生多层DataFrame

(1)groupby()操作后产生GroupBy对象,分为DataFrameGroupBy和SeriesGroupBy
(2)GroupBy对象没有进行实际运算,只是包含分组的中间数据,只有在经过聚合操作后才会产生结果,常用的聚合操作有mean(),max(),size()【每一个分组的大小】,count()
(3)非数值数据不进行分组运算

2.3、自定义分组

方法一:groupby()中传入自定义函数进行分组,操作针对的是索引

# 代码片段举例
def get_score_group(score):
	if score<60:
		score_group = 'low'
	elif score<=80:
		score_group='middle'
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日光咖啡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值