Pandas之ReIndex重新索引的实现
作者:yungeisme 发布时间:2023-10-22 20:47:28
标签:Pandas,ReIndex,重新索引
约定:
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 |
来源:https://blog.csdn.net/weixin_38168620/article/details/79596702


猜你喜欢
- 记录训练过程history=model.fit(X_train, Y_train, epochs=epochs,batch_size=bat
- 本文实例为大家分享了Python实现图像增强的具体代码,供大家参考,具体内容如下题目描述:对于下面这幅图像(图 1),请问可以通过那些图像增
- 首先,来说一下对话框: 对话框在Windows应用程序中使用非常普遍,许多应用程序的设定,与用户交互需要通过对话框来进行,因此对话框是Win
- 最近随着狂风计划的席卷,我也终于开始橱窗产品位列表展示的编码工作,这只是一个改进项目,因此有原代码可供参考。但是当我打开原代码模板的时候便愣
- 引言在做科学计算或者模拟仿真的时候,相信不少小伙伴会遇到这样的问题,比如,我们有一个一维数组如下所示:array = [1, 2, 3, 4
- 引子平常的文本处理工作中,我经常会遇到这么一种情况:用python判断一个string是否包含一个list里的元素。这时候使用python的
- 网页制作中是免不了与表格打交道的。表格是网页制作的基础,在网页布局中起着举足轻重的作用,熟练掌握表格的操作,是你制作网页的辅路石,也是你成为
- 复数数据结构在 cpython 当中对于复数的数据结构实现如下所示:typedef struct { double
- 本文介绍使用Python进行Socket网络编程,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明
- 为什么会讲 MRO?在讲多继承的时候,有讲到, 当继承的多个父类拥有同名属性、方法,子类对象调用该属性、方法时会调用哪个父类的属性、方法呢?
- 0 背景由于工作需要,利用spark完成机器学习。因此需要对spark集群进行操作。所以利用pycharm和pyspark远程连接spark
- 网络上关于各种语言和应用软件的速查手册和快速参考指南有很多很多,不幸的是当我们需要的时候,总是很难找到,所以我决定花点时间尽可能的收集更多的
- 在经典的数据库理论里,本地事务具备四大特征:原子性事务中的所有操作都是以原子的方式执行的,要么全部成功,要么全部失败;一致性事务执行前后,所
- 文章首先使用pycharm的 PyQt5 Designer 做一个简单的界面,然后引入所谓的“mvc框架”。一、设计登录界面下面开始第一个话
- Python是一门高级编程语言,而且Python语言适合零基础人员学习,也是初学者的首选。如何学习好Python:1. 要有决心做任何事情,
- 一、同一台电脑需要安装2个MYSQL,以mysql-5.7.39和mysql-8.0.30为例; 1.下载:https://dow
- 原文:Unobtrusive Ajax。今天才看见的一个Presentation,是Jesse Skinner在06年10月发表的。虽然题目
- 从一段指定的字符串中,取得期望的数据,正常人都会想到正则表达式吧?写过正则表达式的人都知道,正则表达式入门不难,写起来也容易。但是正则表达式
- 一、触发器1.触发器在数据库里以独立的对象存储,2.触发器不需要调用,它由一个事件来触发运行3.触发器不能接收参数--触发器的应用举个例子:
- java往php传数据最近刚好做到了这一块,有php调用java的接口来返回数据,php在做数据的处理可以做到两个系统的数据库同步操作,一般