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实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 Python
python 梯度法求解函数极值的实例
Jul 10 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
Django app配置多个数据库代码实例
Dec 17 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
Python函数参数定义及传递方式解析
Jun 10 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 Python
python3代码中实现加法重载的实例
Dec 03 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 面向对象 PHP5 中的常量
2010/05/05 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python 操作文件的基本方法总结
2017/08/10 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
运动会通讯稿300字
2014/02/02 职场文书
有关爱国演讲稿
2014/05/07 职场文书
大学学生会竞选稿
2015/11/19 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫