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多线程http下载实现示例
Dec 30 Python
Python记录详细调用堆栈日志的方法
May 05 Python
python中安装模块包版本冲突问题的解决
May 02 Python
PyQt5 pyqt多线程操作入门
May 05 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
详解python tkinter教程-事件绑定
Mar 28 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
postman和python mock测试过程图解
Feb 22 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
使用keras时input_shape的维度表示问题说明
Jun 29 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 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/03/15 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP学习笔记之session
2018/05/06 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
JavaScript 私有成员分析
2009/01/13 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
JavaScript 事件系统
2010/07/22 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
javascript arguments使用示例
2014/12/16 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
python中map()函数的使用方法示例
2017/09/29 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
师范生自荐信范文
2013/10/06 职场文书
运动会方阵解说词
2014/02/12 职场文书
爱护公共设施的标语
2014/06/24 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
2019广播稿怎么写
2019/04/17 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书