Pandas之ReIndex重新索引的实现


Posted in Python onJune 25, 2019

约定:

import pandas as pd
import numpy as np

ReIndex重新索引

reindex()是pandas对象的一个重要方法,其作用是创建一个新索引的新对象。

一、对Series对象重新索引

se1=pd.Series([1,7,3,9],index=['d','c','a','f'])
se1

代码结果:

d    1
c    7
a    3
f    9
dtype: int64

调用reindex将会重新排序,缺失值则用NaN填补。

se2=se1.reindex(['a','b','c','d','e','f'])
se2

代码结果:

a    3.0
b    NaN
c    7.0
d    1.0
e    NaN
f    9.0
dtype: float64

传入method=” “重新索引时选择插值处理方式:

method='ffill'或'pad 前向填充

method='bfill'或'backfill 后向填充

se3=pd.Series(['blue','red','black'],index=[0,2,4])
se4=se3.reindex(range(6),method='ffill')
se4

代码结果:

0     blue
1     blue
2      red
3      red
4    black
5    black
dtype: object

二、对DataFrame对象重新索引

对于DataFrame对象,reindex能修改行索引和列索引。

df1=pd.DataFrame(np.arange(9).reshape(3,3),index=['a','c','d'],columns=['one','two','four'])
df1

代码结果:

one two four
a 0 1 2
c 3 4 5
d 6 7 8

默认对行索引重新排序

只传入一个序列不能重新排序列索引

df1.reindex(['a','b','c','d'])

代码结果:

one two four
a 0.0 1.0 2.0
b NaN NaN NaN
c 3.0 4.0 5.0
d 6.0 7.0 8.0
df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'])

代码结果:

one two three four
a 0.0 1.0 NaN 2.0
b NaN NaN NaN NaN
c 3.0 4.0 NaN 5.0
d 6.0 7.0 NaN 8.0

传入fill_value=n用n代替缺失值:

df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value=100)

代码结果:

one two three four
a 0 1 100 2
b 100 100 100 100
c 3 4 100 5
d 6 7 100 8

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python Django模板的使用方法
Jan 14 Python
Python简单定义与使用字典dict的方法示例
Jul 25 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
django从请求到响应的过程深入讲解
Aug 01 Python
使用python生成杨辉三角形的示例代码
Aug 29 Python
浅析Python函数式编程
Oct 06 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 Python
使用Python绘制台风轨迹图的示例代码
Sep 21 Python
Python中使用__new__实现单例模式并解析
Jun 25 #Python
pyQt5实时刷新界面的示例
Jun 25 #Python
Pandas之MultiIndex对象的示例详解
Jun 25 #Python
Python+threading模块对单个接口进行并发测试
Jun 25 #Python
python简单鼠标自动点击某区域的实例
Jun 25 #Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 #Python
python命令行参数用法实例分析
Jun 25 #Python
You might like
实现树状结构的两种方法
2006/10/09 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
详解Python的三种拷贝方式
2020/02/11 Python
python 实现字符串下标的输出功能
2020/02/13 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
python爬虫工具例举说明
2020/11/30 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
幽默自我介绍演讲稿
2014/08/21 职场文书
家长高考寄语
2015/02/27 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
起诉意见书范文
2015/05/19 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
python process模块的使用简介
2021/05/14 Python