对pandas的层次索引与取值的新方法详解


Posted in Python onNovember 06, 2018

1、层次索引

1.1 定义

在某一个方向拥有多个(两个及两个以上)索引级别,就叫做层次索引。

通过层次化索引,pandas能够以较低维度形式处理高纬度的数据

通过层次化索引,可以按照层次统计数据

层次索引包括Series层次索引和DataFrame层次索引

1.2 Series的层次索引

import numpy as np
import pandas as pd

s1 = pd.Series(data=[99, 80, 76, 80, 99],
    index=[['2017', '2017', '2018', '2018', '2018'], ['张伊曼', '张巧玲', '张诗诗', '张思思', '张可可']])
print(s1)

对pandas的层次索引与取值的新方法详解

1.3 DataFrame的层次索引

# DataFrame的层次索引
df1 = pd.DataFrame({
 'year': [2016, 2016, 2017, 2017, 2018],
 'fruit': ['apple', 'banana', 'apple', 'banana', 'apple'],
 'production': [10, 30, 20, 70, 100],
 'profits': [40, 30, 60, 80,10],
})
print("df1===================================")
print(df1)

df2 = df1.set_index(['year', 'fruit'])
print("df2===================================")
print(df2)

print("df2.index===================================")
print(df2.index)

print("df2.sum(level='year')===================================")
print(df2.sum(level='year'))

print("df2.mean(level='fruit')===================================")
print(df2.mean(level='fruit'))

print("df2.sum(level=['year', 'fruit'])===================================")
print(df2.sum(level=['year', 'fruit']))

对pandas的层次索引与取值的新方法详解

对pandas的层次索引与取值的新方法详解

2、取值的新方法

ix是比较老的方法 新方式是使用iloc loc

iloc 对下标值进行操作 Series与DataFrame都可以操作

loc 对索引值进行操作 Series与DataFrame都可以操作

2.1 Series

# # 取值的新方法
s1 = pd.Series(data=[99, 80, 76, 80, 99],
    index=[['2017', '2017', '2018', '2018', '2018'], ['张伊曼', '张巧玲', '张诗诗', '张思思', '张可可']])

print("s1=================================")
print(s1)

print("s1.iloc[2]=================================")
print(s1.iloc[2])

print("s1.loc['2018']['张思思']=================================")
print(s1.loc['2018']['张思思'])

对pandas的层次索引与取值的新方法详解

2.2 DataFrame

df1 = pd.DataFrame({
 'year': [2016, 2016, 2017, 2017, 2018],
 'fruit': ['apple', 'banana', 'apple', 'banana', 'apple'],
 'production': [10, 30, 20, 70, 100],
 'profits': [40, 30, 60, 80,10],
})
print("df1===================================")
print(df1)

print("旧方法获取值===================================")
print("df1['year'][0]===================================")
print(df1['year'][0])

print("df1.ix[0]['year']===================================")
print(df1.ix[0]['year'])

print("新方法获取值===================================")
print("df1.iloc[0][3]===================================")
print(df1.iloc[0][3])

print("df1.loc[0]['year']===================================")
print(df1.loc[0]['year'])

对pandas的层次索引与取值的新方法详解

以上这篇对pandas的层次索引与取值的新方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用xmlrpc实例讲解
Dec 17 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
Python数据类型详解(四)字典:dict
May 12 Python
Python的面向对象编程方式学习笔记
Jul 12 Python
Python函数的周期性执行实现方法
Aug 13 Python
pandas中Timestamp类用法详解
Dec 11 Python
使用Python在Windows下获取USB PID&VID的方法
Jul 02 Python
pytorch自定义初始化权重的方法
Aug 17 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
python 轮询执行某函数的2种方式
May 03 Python
python中random模块详解
Mar 01 Python
Python list列表删除元素的4种方法
Nov 01 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 #Python
Python Series从0开始索引的方法
Nov 06 #Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 #Python
pandas重新生成索引的方法
Nov 06 #Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 #Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 #Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 #Python
You might like
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Python httplib模块使用实例
2015/04/11 Python
Python实现求数列和的方法示例
2018/01/12 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
python实现按首字母分类查找功能
2019/10/31 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
还款承诺书范本
2015/01/20 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
教师培训简讯
2015/07/20 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS