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

您所在的位置:网站首页 数据透视筛选框怎么出来 Pandas 透视表功能及透视数据筛选提取(筛选提取)

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

2024-07-05 21:24| 来源: 网络整理| 查看: 265

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

别急,上一篇文章讲了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 需求:只看资质业态的数据 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 需求:只看杭州地区的数据 aa.loc[pd.IndexSlice[:,"杭州"],] 展现量 消费 业态 城市 互联网 杭州 807 84936.879896 工商 杭州 447 39121.500000 法律 杭州 275 217838.180000 综合 杭州 362 76875.420000 融资 杭州 376 361767.429167 资质 杭州 715 60518.890780 需求:只看消费数据 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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3