对Pandas MultiIndex(多重索引)详解


Posted in Python onNovember 16, 2018

创建多重索引

In [16]: df = pd.DataFrame(np.random.randn(3, 8), index=['A', 'B', 'C'], columns=index)

In [17]: df
Out[17]: 
first  bar     baz     foo     qux \
second  one  two  one  two  one  two  one 
A  0.895717 0.805244 -1.206412 2.565646 1.431256 1.340309 -1.170299 
B  0.410835 0.813850 0.132003 -0.827317 -0.076467 -1.187678 1.130127 
C  -1.413681 1.607920 1.024180 0.569605 0.875906 -2.211372 0.974466 

first    
second  two 
A  -0.226169 
B  -1.436737 
C  -2.006747

获得索引信息

get_level_values

In [23]: index.get_level_values(0)
Out[23]: Index(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], dtype='object', name='first')

In [24]: index.get_level_values('second')
Out[24]: Index(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'], dtype='object', name='second')

基本索引

In [25]: df['bar']
Out[25]: 
second  one  two
A  0.895717 0.805244
B  0.410835 0.813850
C  -1.413681 1.607920

In [26]: df['bar', 'one']
Out[26]: 
A 0.895717
B 0.410835
C -1.413681
Name: (bar, one), dtype: float64

In [27]: df['bar']['one']
Out[27]: 
A 0.895717
B 0.410835
C -1.413681
Name: one, dtype: float64

使用reindex对齐数据

数据准备

In [11]: s = pd.Series(np.random.randn(8), index=arrays)

In [12]: s
Out[12]: 
bar one -0.861849
  two -2.104569
baz one -0.494929
  two 1.071804
foo one 0.721555
  two -0.706771
qux one -1.039575
  two 0.271860
dtype: float64

s序列加(0~-2)索引的值,因为s[:-2]没有最后两个的索引,所以为NaN.s[::2]意思是步长为1.

In [34]: s + s[:-2]
Out[34]: 
bar one -1.723698
  two -4.209138
baz one -0.989859
  two 2.143608
foo one 1.443110
  two -1.413542
qux one   NaN
  two   NaN
dtype: float64

In [35]: s + s[::2]
Out[35]: 
bar one -1.723698
  two   NaN
baz one -0.989859
  two   NaN
foo one 1.443110
  two   NaN
qux one -2.079150
  two   NaN
dtype: float64

以上这篇对Pandas MultiIndex(多重索引)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 字符串split的用法分享
Mar 23 Python
python私有属性和方法实例分析
Jan 15 Python
Python中处理时间的几种方法小结
Apr 09 Python
Python中文件操作简明介绍
Apr 13 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
Python3 操作符重载方法示例
Nov 23 Python
Python json模块dumps、loads操作示例
Sep 06 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
Django中多种重定向方法使用详解
Jul 17 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
一百行python代码将图片转成字符画
Feb 19 #Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 #Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 #Python
pandas 透视表中文字段排序方法
Nov 16 #Python
用Python实现数据的透视表的方法
Nov 16 #Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 #Python
python生成以及打开json、csv和txt文件的实例
Nov 16 #Python
You might like
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
php实现的生成排列算法示例
2019/07/25 PHP
JS 遮照层实现代码
2010/03/31 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
Python中操作MySQL入门实例
2015/02/08 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
大学生表扬信范文
2014/01/09 职场文书
社区庆八一活动方案
2014/02/02 职场文书
运动会跳远广播稿
2014/02/04 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
办理信用卡工作证明
2014/09/30 职场文书
2015年暑假工作总结
2015/07/13 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Python中的socket网络模块介绍
2022/07/23 Python