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调用cmd复制文件代码分享
Dec 27 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
详解Python当中的字符串和编码
Apr 25 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
python使用scrapy发送post请求的坑
Sep 04 Python
python解析含有重复key的json方法
Jan 22 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
python装饰器练习题及答案
Nov 01 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
Python如何输出百分比
Jul 31 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
python分析作业提交情况
2017/11/22 Python
python实现搜索文本文件内容脚本
2018/06/22 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
python wsgiref源码解析
2021/02/06 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
初三学习决心书
2014/03/11 职场文书
户外活动策划方案
2014/03/12 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
公司股份合作协议书
2014/12/07 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang