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 相关文章推荐
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
Django实现基于类的分页功能
Oct 31 Python
python修改文件内容的3种方法详解
Nov 15 Python
python数字图像处理实现图像的形变与缩放
Jun 28 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中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
淘宝搜索框效果实现分析
2011/03/05 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
Python实现播放和录制声音的功能
2020/08/12 Python
python 5个实用的技巧
2020/09/27 Python
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
咖啡书吧创业计划书
2014/01/13 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
学校教师培训工作总结
2015/10/14 职场文书
SQL中的三种去重方法小结
2021/11/01 SQL Server
Java异常处理try catch的基本用法
2021/12/06 Java/Android