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 相关文章推荐
详解Python3中字符串中的数字提取方法
Jan 14 Python
Python安装图文教程 Pycharm安装教程
Mar 27 Python
python实现飞机大战微信小游戏
Mar 21 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
python dataframe向下向上填充,fillna和ffill的方法
Nov 28 Python
python实现windows壁纸定期更换功能
Jan 21 Python
python 同时读取多个文件的例子
Jul 16 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
python3获取当前目录的实现方法
Jul 29 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
python 3.8.3 安装配置图文教程
May 21 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python实现网站注册验证码生成类
2017/06/08 Python
查看django版本的方法分享
2018/05/14 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python画图高斯分布的示例
2019/07/10 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
详解python metaclass(元类)
2020/08/13 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
外企财务年会演讲稿
2014/01/03 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
实习协议书范本
2014/04/22 职场文书
竞选村长演讲稿
2014/04/28 职场文书
管理建议书范文
2014/05/13 职场文书
优秀班组长事迹
2014/05/31 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
个人四风对照检查材料
2014/09/26 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
介绍信如何写
2015/01/31 职场文书
教师教育教学随笔
2015/08/15 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
详解Python函数print用法
2021/06/18 Python
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python