对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获取邮件地址的方法
Jul 10 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
python如何读写json数据
Mar 21 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
基于python实现学生信息管理系统
Nov 22 Python
Python中的sys.stdout.write实现打印刷新功能
Feb 21 Python
python实例化对象的具体方法
Jun 17 Python
python实现简单的井字棋
May 26 Python
pandas求平均数和中位数的方法实例
Aug 04 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
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
Python多线程编程(五):死锁的形成
2015/04/05 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
毕业生的自我评价范文
2013/12/31 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
少先队工作总结2015
2015/05/13 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
分享7个 Python 实战项目练习
2022/03/03 Python