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的私有公有属性(必看篇)
Jun 09 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 Python
django表单的Widgets使用详解
Jul 22 Python
Flask之pipenv虚拟环境的实现
Nov 26 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 Python
Python使用Web框架Flask开发项目
Jun 01 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
人族 TERRAN 概述
2020/03/14 星际争霸
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
php session 写入数据库
2016/02/13 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
JS 建立对象的方法
2007/04/21 Javascript
jQuery TextBox自动完成条
2009/07/22 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
python线程池的实现实例
2013/11/18 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
理论讲解python多进程并发编程
2018/02/09 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
法学专业个人求职信
2013/09/26 职场文书
项目副经理岗位职责
2013/12/30 职场文书
家长给老师的道歉信
2014/01/13 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
教师网络培训感言
2014/03/09 职场文书
2015元旦标语横幅
2014/12/09 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript