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 正则表达式(转义问题)
Dec 15 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
PyTorch中的拷贝与就地操作详解
Dec 09 Python
教你使用pyinstaller打包Python教程
May 27 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数组编码转换示例详解
2014/03/11 PHP
PHP微信红包API接口
2015/12/05 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
JS字符串常用操作方法实例小结
2019/06/24 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
python psutil库安装教程
2018/03/19 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
python爬取微博评论的实例讲解
2021/01/15 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
党员自我批评与反省材料
2014/02/10 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
2015年材料员工作总结
2015/04/30 职场文书
企业百日安全活动总结
2015/05/07 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
python区块链持久化和命令行接口实现简版
2022/05/25 Python