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使用reportlab画图示例(含中文汉字)
Dec 03 Python
Python中tell()方法的使用详解
May 24 Python
Python实现telnet服务器的方法
Jul 10 Python
python模块简介之有序字典(OrderedDict)
Dec 01 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
linux环境下的python安装过程图解(含setuptools)
Nov 22 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
python输出国际象棋棋盘的实例分享
Nov 26 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
vuex实现简易计数器
2016/10/27 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python 同时读取多个文件的例子
2019/07/16 Python
Python实现搜索算法的实例代码
2020/01/02 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
构建高效的python requests长连接池详解
2020/05/02 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
临床医学专业毕业生的自我评价
2013/10/17 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
公司捐款倡议书
2014/05/14 职场文书
优秀员工事迹材料
2014/12/20 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
Java存储没有重复元素的数组
2022/04/29 Java/Android