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遍历目录的4种方法实例介绍
Apr 13 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
Python基础之getpass模块详细介绍
Aug 10 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
详解K-means算法在Python中的实现
Dec 05 Python
python re模块findall()函数实例解析
Jan 19 Python
redis之django-redis的简单缓存使用
Jun 07 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
django 连接数据库出现1045错误的解决方式
May 14 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获取远程图片并把它保存到本地的代码
2008/04/07 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
vue+eslint+vscode配置教程
2019/08/09 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python输入错误密码用户锁定实现方法
2017/11/27 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
python实现tail -f 功能
2020/01/17 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
消防先进事迹材料
2014/02/10 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
委托公证书样本
2015/01/23 职场文书
Python利用capstone实现反汇编
2022/04/06 Python
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL