对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 and、or以及and-or语法总结
Apr 14 Python
Python实现把回车符\r\n转换成\n
Apr 23 Python
Python中使用partial改变方法默认参数实例
Apr 28 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
python采用django框架实现支付宝即时到帐接口
May 17 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
python使用插值法画出平滑曲线
Dec 15 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
Mar 12 Python
python 实现socket服务端并发的四种方式
Dec 14 Python
python Scrapy框架原理解析
Jan 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
ThinkPHP登录功能的实现方法
2014/08/20 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
文字幻灯片
2006/06/26 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
浅谈javascript的调试
2015/01/28 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
关于react中组件通信的几种方式详解
2017/12/10 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python模块之paramiko实例代码
2018/01/31 Python
python读取xlsx的方法
2018/12/25 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python绘制分布折线图的示例
2020/09/24 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
领导证婚人证婚词
2014/01/13 职场文书
市场部规章制度
2014/01/24 职场文书
数学国培研修感言
2014/02/13 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python