Pandas 透视表功能及透视数据筛选提取(筛选提取)

透视出来的数据如何按需求筛选呢?

别急,上一篇文章讲了pandas 里面的透视表制作,就像Excel一样,透视表可以筛选,可以提取,别急,pivot_table也可以,让我慢慢道来。

一. 筛选提取实例

透视一层的数据就没的必要筛选,所以这里的筛选指的都是2层透视以上的。
首先看一个透视表

aa=pd.pivot_table(data1,values=['消费','展现量'],index=['业态','城市'],aggfunc={'消费':'sum','展现量':'count'})
aa.head(20)
				展现量	消费
业态	城市		
融资	上海	677	1.165594e+06
		北京	539	9.218017e+05
		成都	566	1.285583e+06
		杭州	376	3.617674e+05
		武汉	395	4.748063e+05
		重庆	524	8.546292e+05
认证	成都	27	3.448020e+03
资质	上海	858	5.413939e+04
		东莞	221	1.079273e+04
		企业服务研究院	76	4.427083e+04
		北京	1200	1.651653e+05
		宜昌	280	8.869690e+03
		广州	871	9.633184e+04
		成都	833	1.249824e+05
		杭州	715	6.051889e+04
		武汉	861	7.227470e+04
		深圳	666	6.583873e+04
		郑州	377	3.735482e+04
		重庆	859	9.472752e+04
		长沙	775	4.942042e+04
  1. 需求:只看资质业态的数据
aa.loc[pd.IndexSlice['资质']]
		展现量	消费
城市		
上海	858	54139.388288
东莞	221	10792.732777
企业服务研究院	76	44270.830000
北京	1200	165165.305125
宜昌	280	8869.689556
广州	871	96331.844330
成都	833	124982.446914
杭州	715	60518.890780
武汉	861	72274.697308
深圳	666	65838.728904
郑州	377	37354.815461
重庆	859	94727.515453
长沙	775	49420.415103
  1. 需求:只看杭州地区的数据
aa.loc[pd.IndexSlice[:,"杭州"],]
				展现量	消费
业态	城市		
互联网	杭州	807	84936.879896
工商	杭州	447	39121.500000
法律	杭州	275	217838.180000
综合	杭州	362	76875.420000
融资	杭州	376	361767.429167
资质	杭州	715	60518.890780
  1. 需求:只看消费数据
aa.loc[pd.IndexSlice[:,:],'消费'].head()
业态    城市  
互联网  上海       88684.016736
       上海平台       116.420000
       广州      107888.500000
       广州平台        85.190000
       成都      104646.559016
Name: 消费, dtype: float64

二. 总结

筛选提取方法好几种,但是我平时用的多的就是这一种:
loc+pd.IndexSlice
loc[row,column]:
row代表行数,这里用索引的层级代替
columns代表列名,多个也是[]括起来
pd.IndexSlice[levels]:层级,就是透视的层级,全选用‘:’代替,每一层级间用‘,’分开,顺序不那个乱了
例如:

aa.loc[pd.IndexSlice['融资',:],['消费','展现量']].head()

				消费			展现量
业态	城市		
融资	上海	1.165594e+06	677
		北京	9.218017e+05	539
		成都	1.285583e+06	566
		杭州	3.617674e+05	376
		武汉	4.748063e+05	395
  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandas中,数据透视是一种可以对数据动态排布并且分类汇总的格格式,通过使用`pandas.pivot_table()`函数或`pandas.DataFrame.pivot_table()`函数来创建透视透视可以对数据进行各种计算操作,如求和、计数等,并根据不同的布局方式重新排列行号、列标和页字段。每次改变布局后,透视会重新计算数据。在使用Excel进行数据分析时,透视是非常常用的功能Pandas提供了透视功能来满足类似的需求。 `pandas.pivot_table()`函数的主要参数有: - `data`: 数据源,即一个DataFrame对象 - `index`: 行索引,传入原始数据的列名 - `columns`: 列索引,传入原始数据的列名 - `values`: 要进行聚合操作的列名 - `aggfunc`: 聚合函数,用于对数据进行计算 而`pandas.DataFrame.pivot_table()`函数与`pandas.pivot_table()`函数相似,只是没有`data`参数,因为它是作为DataFrame对象的一个方法来使用的。 通过使用这些函数,我们可以创建数据透视来对数据进行分析和汇总。123 #### 引用[.reference_title] - *1* [python入门——Pandas透视(pivot_table)](https://blog.csdn.net/weixin_49249463/article/details/127578300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [pandas 数据透视](https://blog.csdn.net/ljh18885466426/article/details/120048268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值