对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 相关文章推荐
python3简单实现微信爬虫
Apr 09 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
python自动化报告的输出用例详解
May 30 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
利用Python脚本批量生成SQL语句
Mar 04 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
Django封装交互接口代码
Jul 12 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 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经典的给图片加水印程序
2006/12/06 PHP
超级实用的7个PHP代码片段分享
2012/01/05 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
详解jquery选择器的原理
2017/08/01 jQuery
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
微信小程序倒计时功能实现代码
2017/11/09 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python实现中值滤波去噪方式
2019/12/18 Python
pycharm永久激活超详细教程
2020/10/29 Python
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
学生会竞选自荐信
2013/10/12 职场文书
骨干教师考核方案
2014/05/09 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
音乐会主持人开场白
2015/05/28 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
解析目标检测之IoU
2021/06/26 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android