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中的魔法方法深入理解
Jul 09 Python
对于Python编程中一些重用与缩减的建议
Apr 14 Python
Python中的ConfigParser模块使用详解
May 04 Python
Python中return语句用法实例分析
Aug 04 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
Python线性方程组求解运算示例
Jan 17 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
Python函数式编程实例详解
Jan 17 Python
Python脚本去除文件的只读性操作
Mar 05 Python
Python Map 函数的使用
Aug 28 Python
浅谈pytorch中的dropout的概率p
May 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 中的类
2006/10/09 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
php二维码生成以及下载实现
2017/09/28 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
详解PHP队列的实现
2019/03/14 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
js回调函数仿360开机
2019/12/26 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
tensorflow获取变量维度信息
2018/03/10 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
高中校园广播稿
2014/01/11 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
驾驶员安全责任书
2014/07/22 职场文书
园林技术专业求职信
2014/07/28 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
平安家庭事迹材料
2014/12/20 职场文书
会议通知格式范文
2015/04/15 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB