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 dict remove数组删除(del,pop)
Mar 24 Python
python实现复制整个目录的方法
May 12 Python
Python实现以时间换空间的缓存替换算法
Feb 19 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
python+opencv实现动态物体追踪
Jan 09 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
PYQT5实现控制台显示功能的方法
Jun 25 Python
python代码区分大小写吗
Jun 17 Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 Python
Python 使用office365邮箱的示例
Oct 29 Python
pytorch显存一直变大的解决方案
Apr 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
Cakephp 执行主要流程
2010/03/24 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
php whois查询API制作方法
2011/06/23 PHP
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
php实现cookie加密的方法
2015/03/10 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
python实现文件快照加密保护的方法
2015/06/30 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
微信跳一跳python代码实现
2018/01/05 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
python中altair可视化库实例用法
2021/01/26 Python
Django中template for如何使用方法
2021/01/31 Python
新闻专业应届生求职信
2013/10/31 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
信仰心得体会
2014/09/05 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
师范生见习报告
2014/10/31 职场文书
检讨书范文大全
2015/05/07 职场文书
房屋所有权证明
2015/06/19 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python