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深入学习之内存管理
Aug 31 Python
Python实现对PPT文件进行截图操作的方法
Apr 28 Python
Python编程中使用Pillow来处理图像的基础教程
Nov 20 Python
python实现图片筛选程序
Oct 24 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
谈一谈基于python的面向对象编程基础
May 21 Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
python3.6生成器yield用法实例分析
Aug 23 Python
python爬虫中多线程的使用详解
Sep 23 Python
pytorch 实现查看网络中的参数
Jan 06 Python
解决reload(sys)后print失效的问题
Apr 25 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中转义mysql语句的实现代码
2011/06/24 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
Python3里的super()和__class__使用介绍
2015/04/23 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Python实现自动上京东抢手机
2018/02/06 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
python构建基础的爬虫教学
2018/12/23 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
python迭代器常见用法实例分析
2019/11/22 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
Python通过format函数格式化显示值
2020/10/17 Python
通过实例解析python and和or使用方法
2020/11/14 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
英语系本科生求职信
2014/07/15 职场文书
2015年领班工作总结
2015/04/29 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
会计岗位工作总结
2015/08/12 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
幼儿园教师辞职信
2019/06/21 职场文书