python pandas 对series和dataframe的重置索引reindex方法


Posted in Python onJune 07, 2018

reindex更多的不是修改pandas对象的索引,而只是修改索引的顺序,如果修改的索引不存在就会使用默认的None代替此行。且不会修改原数组,要修改需要使用赋值语句。

series.reindex()

import pandas as pd
import numpy as np
obj = pd.Series(range(4), index=['d', 'b', 'a', 'c'])
print obj
d 0
b 1
a 2
c 3
dtype: int64
print obj.reindex(['a', 'b', 'c', 'd', 'e'])
1
a 2.0
b 1.0
c 3.0
d 0.0
e NaN
dtype: float64

多出的索引‘e'会被赋值NaN

内插或填充method

obj1=pd.Series(range(3), index=['a', 'c', 'e'])
print obj1.reindex(['a', 'b', 'c', 'd', 'e'],method='pad')
a 0
b 0
c 1
d 1
e 2
dtype: int64

ffill或pad: 前向(或进位)填充

bfill或backfill: 后向(或进位)填充

dataframe.reindex()

dataframe.reindex()可以改变(行)索引,列或两者。当只传入一个序列时,行被重新索引,一次可以对两个重新索引,可是插值只在行侧(0坐标轴)进行

frame = pd.DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'], columns=['c1', 'c2', 'c3'])
print frame
c1 c2 c3
a 0 1 2
c 3 4 5
d 6 7 8
states = ['c1', 'b2', 'c3']
frame.reindex(columns=states)

c1 b2 c3
a 0 NaN 2
c 3 NaN 5
d 6 NaN 8

列名不一样的会被赋值nan

frame_na=frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill', columns=states)
print frame_na
c1 b2 c3
a 0 NaN 2
b 0 NaN 2
c 3 NaN 5
d 6 NaN 8

插值只在行侧(0坐标轴)进行,但是我们可以在其之后,对nan值进行填充

frame_na.fillna(method='ffill',axis=1)

c1 b2 c3
a 0.0 0.0 2.0
b 0.0 0.0 2.0
c 3.0 3.0 5.0
d 6.0 6.0 8.0

以上这篇python pandas 对series和dataframe的重置索引reindex方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
Python Web框架Flask下网站开发入门实例
Feb 08 Python
使用rpclib进行Python网络编程时的注释问题
May 06 Python
python获得文件创建时间和修改时间的方法
Jun 30 Python
python实现两个文件合并功能
Apr 01 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
使用Python防止SQL注入攻击的实现示例
May 21 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
Jun 02 Python
python定义类的简单用法
Jul 24 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 #Python
解决DataFrame排序sort的问题
Jun 07 #Python
python爬取网页内容转换为PDF文件
Jul 28 #Python
python爬取网页转换为PDF文件
Jun 07 #Python
python实现pdf转换成word/txt纯文本文件
Jun 07 #Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 #Python
python生成ppt的方法
Jun 07 #Python
You might like
php array_pop()数组函数将数组最后一个单元弹出(出栈)
2011/07/12 PHP
destoon复制新模块的方法
2014/06/21 PHP
php实现微信发红包
2015/12/05 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
python中的二维列表实例详解
2018/06/19 Python
Python实现分段线性插值
2018/12/17 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python函数式编程实例详解
2020/01/17 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
python os模块在系统管理中的应用
2020/06/22 Python
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
学生实习自我鉴定
2013/10/11 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
大学生就业自荐书
2014/06/16 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
2015年行政部工作总结
2015/04/28 职场文书
docker 制作mysql镜像并自动安装
2022/05/20 Servers