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函数嵌套实例
Sep 23 Python
Python复制文件操作实例详解
Nov 10 Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 Python
Python列表list排列组合操作示例
Dec 18 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
Django框架视图函数设计示例
Jul 29 Python
pandas如何处理缺失值
Jul 31 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
Django如何批量创建Model
Sep 01 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 Python
Python爬虫中urllib3与urllib的区别是什么
Jul 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Python colormap库的安装和使用详情
2020/10/06 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
2014年学前班工作总结
2014/12/08 职场文书
秋季运动会加油词
2015/07/18 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL