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中生成器和yield语句的用法详解
Apr 17 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
Python利用递归和walk()遍历目录文件的方法示例
Jul 14 Python
python的Tqdm模块的使用
Jan 10 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
基于python3实现socket文件传输和校验
Jul 28 Python
python区分不同数据类型的方法
Oct 14 Python
Python requests上传文件实现步骤
Sep 15 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 Python
Python Pandas模块实现数据的统计分析的方法
Jun 24 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 冒泡排序 交换排序法
2011/05/10 PHP
PHP结合Mysql数据库实现留言板功能
2016/03/04 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
jQuery中animate()方法用法实例
2014/12/24 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python中的hypot()方法使用简介
2015/05/18 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
详解Python中的正则表达式
2018/07/08 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
mac使用python识别图形验证码功能
2020/01/10 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
linux面试题参考答案(6)
2016/06/23 面试题
优秀班主任经验交流材料
2014/06/02 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
汽车转让协议书范本
2014/12/07 职场文书
python实现简单的井字棋
2021/05/26 Python