Pandas之ReIndex重新索引的实现


Posted in Python onJune 25, 2019

约定:

import pandas as pd
import numpy as np

ReIndex重新索引

reindex()是pandas对象的一个重要方法,其作用是创建一个新索引的新对象。

一、对Series对象重新索引

se1=pd.Series([1,7,3,9],index=['d','c','a','f'])
se1

代码结果:

d    1
c    7
a    3
f    9
dtype: int64

调用reindex将会重新排序,缺失值则用NaN填补。

se2=se1.reindex(['a','b','c','d','e','f'])
se2

代码结果:

a    3.0
b    NaN
c    7.0
d    1.0
e    NaN
f    9.0
dtype: float64

传入method=” “重新索引时选择插值处理方式:

method='ffill'或'pad 前向填充

method='bfill'或'backfill 后向填充

se3=pd.Series(['blue','red','black'],index=[0,2,4])
se4=se3.reindex(range(6),method='ffill')
se4

代码结果:

0     blue
1     blue
2      red
3      red
4    black
5    black
dtype: object

二、对DataFrame对象重新索引

对于DataFrame对象,reindex能修改行索引和列索引。

df1=pd.DataFrame(np.arange(9).reshape(3,3),index=['a','c','d'],columns=['one','two','four'])
df1

代码结果:

one two four
a 0 1 2
c 3 4 5
d 6 7 8

默认对行索引重新排序

只传入一个序列不能重新排序列索引

df1.reindex(['a','b','c','d'])

代码结果:

one two four
a 0.0 1.0 2.0
b NaN NaN NaN
c 3.0 4.0 5.0
d 6.0 7.0 8.0
df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'])

代码结果:

one two three four
a 0.0 1.0 NaN 2.0
b NaN NaN NaN NaN
c 3.0 4.0 NaN 5.0
d 6.0 7.0 NaN 8.0

传入fill_value=n用n代替缺失值:

df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value=100)

代码结果:

one two three four
a 0 1 100 2
b 100 100 100 100
c 3 4 100 5
d 6 7 100 8

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python算法演练_One Rule 算法(详解)
May 17 Python
浅谈用Python实现一个大数据搜索引擎
Nov 28 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
用python爬取租房网站信息的代码
Dec 14 Python
Django Rest framework之权限的实现示例
Dec 17 Python
django admin 自定义替换change页面模板的方法
Aug 23 Python
django框架ModelForm组件用法详解
Dec 11 Python
Python装饰器原理与基本用法分析
Jan 07 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
Python集合操作方法详解
Feb 09 Python
python3中sys.argv的实例用法
Apr 24 Python
什么是python的函数体
Jun 19 Python
Python中使用__new__实现单例模式并解析
Jun 25 #Python
pyQt5实时刷新界面的示例
Jun 25 #Python
Pandas之MultiIndex对象的示例详解
Jun 25 #Python
Python+threading模块对单个接口进行并发测试
Jun 25 #Python
python简单鼠标自动点击某区域的实例
Jun 25 #Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 #Python
python命令行参数用法实例分析
Jun 25 #Python
You might like
一个域名查询的程序
2006/10/09 PHP
php,ajax实现分页
2008/03/27 PHP
php中文字母数字验证码实现代码
2008/04/25 PHP
php常用hash加密函数
2014/11/22 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
PHP实现添加购物车功能
2017/03/06 PHP
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
Python的迭代器和生成器
2015/07/29 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
PyQt5实现登录页面
2020/05/30 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
Django URL参数Template反向解析
2020/11/24 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
农村党支部先进事迹
2014/01/14 职场文书
安全施工责任书
2014/08/25 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
Python制作表白爱心合集
2022/01/22 Python
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库