约定:

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中的reindex_Pandas之ReIndex重新索引的实现相关推荐

  1. Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

    Python中字符串的索引方式,偏移量为1,即第1个字符的索引为0,而从右向左第一个为-1. 字符串截取的语法格式为:变量名[头下标:尾下标:步长] 例如:输出字符串中第一个到倒数第二个字符 word ...

  2. Python中dataframe数据的基本操作、索引的变换、行列选择、简单描述

    关注微信号:小程在线 关注CSDN博客:程志伟的博客 import numpy as np import pandas as pd #### 1.1简单数据操作 #### #生成数据 df1=pd.D ...

  3. python中使用什么表示代码块、不需要使用大括号_Python3学习笔记02-基础语法

    默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串 ' # -*- coding:cp-1252 -*-' 也可以指定其他编码,以上用cp-1252字符 ...

  4. python中常见的流程_Python面试中最常见的25个问题-结束

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 13)Python中的lambda表达式是什么? lambda表达式是一个匿名函数,通常用作代码行内的嵌入函数. 14)为什么Python中的lambda ...

  5. python中使用什么表示代码块、不需要使用大括号_Python3 基础语法

    Python3 基础语法 阅读 (129) | 发布于 2020-05-11 18:12:32 编码 # -*- coding: utf-8 -*- 这是代码的编码方式.不是程序要处理的数据的编码方式 ...

  6. 在python中、int表示的是数据类型是_Python3基本数据类型之intstr

    python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对 ...

  7. Matlab转Python问题之二维数组单索引寻值

    在Matlab中,对于二维数组来说,是可以用一个索引来找单个元素的,但是python中,如果只写一个索引,意味着指的是一整行的数值. A=[1,2,3;4,5,6;7,8,9] A =1 2 34 5 ...

  8. python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解

    Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...

  9. python中dword类型_Python中的数据类型

    Python中总共有六种数据类型,分别如下: 数字(Numbers) 字符串(String) 列表(List) 元组(Tuple) 集合(Sets) 字典(Dictionaries) 数字的种类: 整 ...

最新文章

  1. 翻转二叉树 c语言实现 递归 栈 队列
  2. js把文字中的空格替换为横线
  3. 联想服务器升级微码文件,ThinkPad如何升级硬盘微码程序(适用于SL系列机器)
  4. java自定义注解为空值_java自定义注解
  5. 二叉树叶子节点迭代器
  6. android 广播 7.0变化,安卓7.0到底带来了那些变化?
  7. ftp服务器在线查看文件内容,ftp服务器PDF文件在线查看的实现方法
  8. - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender
  9. Python raw_input()
  10. Django 模板标签[转]
  11. 【训练计划】--2019-05
  12. 你在杠杆另外一端的位置,决定你是否能够撬动地球
  13. LOL各大服务器所在位置,LOL各大服务器所在地,8个大区全都在广东,是其他省的两倍...
  14. sdut 1299 最长上升子序列
  15. 转换pdf异常The document appears to be corrupted and cannot be loaded解决
  16. Java随机密码生成器
  17. 1-2 移动均线交叉策略1
  18. 三升序列20210314-20210413
  19. 第三次作业(蒋鑫和贺俊朋组)
  20. 信息系统项目管理师2019年下半年上午试题解析(三)

热门文章

  1. bpl开发模式_BPL的完整形式是什么? 什么是电力线宽带
  2. 列表使用与内部实现原理
  3. Python禁止最大化按钮和禁止拉伸窗口大小
  4. 反编译Android APK详细操作指南
  5. 广州海珠区计算机学校,2019广州海珠区电脑派位和对口直升表
  6. 任何项目都适用的CMakeLists配置
  7. Linux下调tcp最大参数
  8. 思科CCNA第一学期期末考试答案
  9. linux arm ffmpeg configure文件,ffmpeg库的交叉编译记录
  10. python 读取csv文件转成字符串_从CSV读取到 dataframe pandas python时dict对象转换为字符串...