pandas中DataFrame重置索引的几种方法


Posted in Python onMay 24, 2021

在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取、插入等。

小笔总结了以下几种重置索引的方法:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(20).reshape((5, 4)),columns=['a', 'b', 'c', 'd'])
#得到df:
     a    b    c    d
0    0    1    2    3
1    4    5    6    7
2    8    9    10   11
3    12   13   14   15
4    16   17   18   19

# 对其重排顺序,得到索引顺序倒序的数据
df2 = df.sort_values('a', ascending=False)
# 得到df2:
     a    b     c     d
4    16   17    18    19
3    12   13    14    15
2    8    9     10    11
1    4    5     6     7
0    0    1     2     3

下面对df2重置索引,使其索引从0开始

法一:

简单粗暴:

df2.index = range(len(df2))

# 输出df2:
     a     b     c     d
0    16    17    18    19
1    12    13    14    15
2    8     9     10    11
3    4     5     6     7
4    0     1     2     3

法二:

df2 = df2.reset_index(drop=True)  # drop=True表示删除原索引,不然会在数据表格中新生成一列'index'数据
# 输出df2:
     a     b     c     d
0    16    17    18    19
1    12    13    14    15
2    8     9     10    11
3    4     5     6     7
4    0     1     2     3

法三:

df2 = df2.reindex(labels=range(len(df))  #labels是第一个参数,可以省略
# 输出df2
     a     b     c     d
0    16    17    18    19
1    12    13    14    15
2    8     9     10    11
3    4     5     6     7
4    0     1     2     3

# 注:df = df.reindex(index=[]),在原数据结构上新建行(index是新索引,若新建数据索引在原数据中存在,则引用原有数据),默认用NaN填充(使用fill_value=0 来修改填充值自定义,此处我设置的是0)。
# df = df.reindex(columns=[]),在原数据结构上新建列,方法与新建行一样

法四:

df2 = df2.set_index(keys=['a', 'c'])  # 将原数据a, c列的数据作为索引。
# drop=True,默认,是将数据作为索引后,在表格中删除原数据
# append=False,默认,是将新设置的索引设置为内层索引,原索引是外层索引

# 输出df2,注意a,c列是索引:
            b     d
a     c        
16    18    17    19
12    14    13    15
8     10    9     11
4     6     5     7
0     2     1     3

到此这篇关于pandas中DataFrame重置索引的几种方法的文章就介绍到这了,更多相关pandas DataFrame重置索引内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python简单日志处理类分享
Feb 14 Python
Python的Django框架中自定义模版标签的示例
Jul 20 Python
浅析Python中的多条件排序实现
Jun 07 Python
使用python实现接口的方法
Jul 07 Python
python 函数传参之传值还是传引用的分析
Sep 07 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python实现按行分割文件
Jul 22 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
python3中布局背景颜色代码分析
Dec 01 Python
pandas取dataframe特定行列的实现方法
pytorch 如何使用amp进行混合精度训练
只需要这一行代码就能让python计算速度提高十倍
pytorch 如何使用float64训练
pytorch 使用半精度模型部署的操作
May 24 #Python
解决Pytorch半精度浮点型网络训练的问题
May 24 #Python
Python办公自动化之Excel(中)
May 24 #Python
You might like
深入array multisort排序原理的详解
2013/06/18 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
表单内同名元素的控制
2006/11/22 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
小程序使用wxs解决wxml保留2位小数问题
2019/12/13 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
Python内置数据类型详解
2014/08/18 Python
Python功能键的读取方法
2015/05/28 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
毕业生面试求职信
2014/06/23 职场文书
老龄工作先进事迹
2014/08/15 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
财务务虚会发言材料
2014/10/20 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
副总经理岗位职责
2015/02/02 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
2015年植树节活动总结
2015/02/06 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
Python Pandas解析读写 CSV 文件
2022/04/11 Python
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript