python中的reindex_Python学习笔记(6):Pandas的reindex方法
目录
一、reindex方法
一、reindex方法
reindex的作用是对Series或DataFrame对象创建一个适应新索引的新对象。
以一个简单示例说明。
import pandas as pd
from pandas import Series, DataFrame
obj = Series([4.5, 7.2, -5.3, 3.6], index = ['d', 'b', 'a', 'c'])
#reindex用法示例
obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'])
obj2
输出:a -5.3
b 7.2
c 3.6
d 4.5
e NaN
dtype: float64
可以看到reindex方法重新设定了一组数据的索引,如果索引在原数据中没有匹配,则以NaN填充。
如果不想以NaN填充呢?可以用fill_value方法来设置。
obj.reindex(['a', 'b', 'c', 'd', 'e'], fill_value = 0)
输出:a -5.3
b 7.2
c 3.6
d 4.5
e 0.0
dtype: float64
也可以用ffill方法实现前向填充,也就是补充的索引如果没有对应的数值,则取前一个索引的值填充。
obj3 = Series(['blue', 'purple', 'yellow'], index = [0, 2, 4])
obj3
输出:0 blue
2 purple
4 yellow
dtype: object
#使用ffill实现前向值填充
obj3.reindex(range(6), method = 'ffill')
输出:0 blue
1 blue
2 purple
3 purple
4 yellow
5 yellow
dtype: object
以上都是对Series的reindex用法,接下来看看DataFrame的reindex方法。
区别主要在于,DataFrame可以对index或columns使用reindex方法。
#DataFrame使用reindex方法
import numpy as np
frame = DataFrame(np.arange(9).reshape((3, 3)), index = ['a', 'c', 'd'], columns = ['Ohio', 'Texas', 'California'])
frame
输出:
Ohio Texas California
a 0 1 2
c 3 4 5
d 6 7 8
frame2 = frame.reindex(['a', 'b', 'c', 'd'])
frame2
输出:
Ohio Texas California
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
states = ['Texas', 'Utah', 'California']
frame.reindex(columns = states)
输出:
Texas Utah California
a 1 NaN 2
c 4 NaN 5
d 7 NaN 8
#对DataFrame使用ffill方法,书里的写法会报错,用如下写法是没问题的
frame.reindex(index = ['a', 'b', 'c', 'd'], columns = states).ffill()
输出:
Texas Utah California
a 1.0 NaN 2.0
b 1.0 NaN 2.0
c 4.0 NaN 5.0
d 7.0 NaN 8.0
#标签索引loc方法(书中的'ix'方法已经不能使用了,loc方法等同原ix方法
frame.loc[['a', 'b', 'c', 'd'], states]
输出:
Texas Utah California
a 1.0 NaN 2.0
b NaN NaN NaN
c 4.0 NaN 5.0
d 7.0 NaN 8.0
假期最后一天。。。就写这么多了。。。
python中的reindex_Python学习笔记(6):Pandas的reindex方法相关推荐
- Python中索引的学习笔记
1 前言 今天在学习FaceBoxes- 看到一个比较奇怪的代码,"order = scores.argsort()[::-1][:args.top_k]",不太懂这个" ...
- python分组求和_Python学习笔记之pandas索引列、过滤、分组、求和功能示例
本文实例讲述了Python学习笔记之pandas索引列.过滤.分组.求和功能.分享给大家供大家参考,具体如下: 前面我们已经把519961(基金编码)这种基金的历史净值明细表html内容抓取到了本地, ...
- Python中面向对象(学习笔记)
文章目录 一.面向过程与面向对象 简述 面向过程编程 面向对象编程 二.类和对象 类 对象(实例) 类和对象的关系 三.类的定义 四.类中的成员 类属性 实例函数(对象函数,成员函数) 实例函数和普通 ...
- python中argsort_(学习笔记)numpy中argsort函数用法
在Python中使用help帮助 >>> import numpy >>> help(numpy.argsort) Help on function argsort ...
- python中的loop_django学习笔记之forloop
在学习django时候,看到djangobook中关于forloop知识详解中,有这么一句话"在一个 {% for %} 块中,已存在的变量会被移除,以避免 forloop 变量被覆盖&qu ...
- python中string.digits_python学习笔记五:字符串方法
常用字符串常量: string.digits:包含数字0~9的字符串 string.letters:包含所有字母(大写或小写字符串,在python3.0中,使用string.ascii-letters ...
- python绘图实例-Python中turtle绘图学习笔记和实例
一.既然本次讲的主角是turtle函数库,那肯定得先了解一下它是什么 turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位 ...
- python如何读取tfrecord_tensorflow学习笔记——高效读取数据的方法(TFRecord)
关于TensorFlow读取数据,官网给出了三种方法: 供给数据(Feeding):在TensorFlow程序运行的每一步,让python代码来供给数据. 从文件读取数据:在TensorFlow图的起 ...
- Python学习笔记:pandas初体验
Python学习笔记:pandas初体验 一.安装pandas模块 1.安装Python3.7 注意:必须勾选pip(python install package). 2.配置环境变量 3.下载 pa ...
最新文章
- 苹果发布首款 Mac 自研芯片 M1,贯通生态快人一步!
- P1134 阶乘问题
- 【BZOJ】4873: [Shoi2017]寿司餐厅
- java中声明内部类变量,java – 从内部类中访问变量(dialogView),需要声明final
- 为什么jupyterlab运行程序的时候会自动停止_搭建 Julia 轻量级编写环境(VSCode,JupyterLab)
- 中怎样载入选区_【平面设计教学】Photoshop基本教学-第3章 选区与填色
- C语言单片机数码管a段亮,各位大神,如何用C语言实现在数码管上实现1234同时亮...
- STL-Deque的实现
- fstream实现文件复制(并将文件名小写改成大写)
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 8丨平面上的最近距离【难度中等】
- bootstrap 取消_学习写个网站(5)Bootstrap学习2
- 基于CFS算法的schedule()源码分析
- tomcat,Jboss,weblogic区别与比较
- 开源软件许可协议简介
- 利用python进行数据分析——第十四章_数据分析案例
- JAVA Metrics 度量工具使用介绍1
- Sophos 和 ReversingLabs 公开含2000万个 PE 文件的数据集
- The Suspects(并查集入门)
- 电工技师技能实训考核装置QY-W601C
- 使用canvas给页面添加文字水印