对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 相关文章推荐
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
APIStar:一个专为Python3设计的API框架
Sep 26 Python
Python字符串的常见操作实例小结
Apr 08 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
python with (as)语句实例详解
Feb 04 Python
python正则表达式实例代码
Mar 03 Python
Django ModelForm操作及验证方式
Mar 30 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
Django-imagekit的使用详解
Jul 06 Python
python实现扫雷游戏的示例
Oct 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
8个必备的PHP功能开发
2015/10/02 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
浅析javascript的return语句
2015/12/15 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
python实现基本进制转换的方法
2015/07/11 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
编写python代码实现简单抽奖器
2020/10/20 Python
如何用PyPy让你的Python代码运行得更快
2020/12/02 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
送货司机岗位职责
2013/12/11 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
营销与策划专业求职信
2014/06/20 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
字典算法实现及操作 --python(实用)
2021/03/31 Python