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基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 Python
讲解Python中的标识运算符
May 14 Python
python在windows下创建隐藏窗口子进程的方法
Jun 04 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
Jul 02 Python
python文件与目录操作实例详解
Feb 22 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
python实发邮件实例详解
Nov 11 Python
Python创建数字列表的示例
Nov 28 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
如何使用python记录室友的抖音在线时间
Jun 29 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
celery在python爬虫中定时操作实例讲解
Nov 27 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
php桌面中心(一) 创建数据库
2007/03/11 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
jquery构造器的实现代码小结
2011/05/16 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
python django 访问静态文件出现404或500错误
2017/01/20 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
PyQt5实现画布小程序
2020/05/30 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
党员对照检查剖析材料
2014/10/13 职场文书
公司规章制度范本
2015/08/03 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
用Python创建简易网站图文教程
2021/06/11 Python
排查MySQL生产环境索引没有效果
2022/04/11 MySQL