对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中的正则表达式的用法
Apr 09 Python
python类继承用法实例分析
May 27 Python
详解python的数字类型变量与其方法
Nov 20 Python
HTML的form表单和django的form表单
Jul 25 Python
python编写微信公众号首图思路详解
Dec 13 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
Python类继承和多态原理解析
Feb 05 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
Python使用socket模块实现简单tcp通信
Aug 18 Python
python两种注释用法的示例
Oct 09 Python
如何理解python接口自动化之logging日志模块
Jun 15 Python
再谈python_tkinter弹出对话框创建
Mar 20 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开发工具之vs2005图解
2008/01/12 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
php实现微信发红包功能
2018/07/13 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python中使用序列的方法
2015/08/03 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
社会实践自我鉴定
2013/11/07 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
消防应急演练方案
2014/02/12 职场文书
团队口号大全
2014/06/06 职场文书
大学入学感言
2015/08/01 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB