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删除文件示例分享
Jan 28 Python
python 编程之twisted详解及简单实例
Jan 28 Python
python3+dlib实现人脸识别和情绪分析
Apr 21 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
Dec 17 Python
python命令行参数用法实例分析
Jun 25 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
Python 简单计算要求形状面积的实例
Jan 18 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
详解Python 中的 defaultdict 数据类型
Feb 22 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 Python
pandas取dataframe特定行列的实现方法
pytorch 如何使用amp进行混合精度训练
只需要这一行代码就能让python计算速度提高十倍
pytorch 如何使用float64训练
pytorch 使用半精度模型部署的操作
May 24 #Python
解决Pytorch半精度浮点型网络训练的问题
May 24 #Python
Python办公自动化之Excel(中)
May 24 #Python
You might like
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php自动加载的两种实现方法
2010/06/21 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
axios学习教程全攻略
2017/03/26 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
函授本科自我鉴定
2014/02/04 职场文书
保护环境倡议书
2014/04/14 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
华山导游词
2015/02/03 职场文书
清洁工个人工作总结
2015/03/05 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
应急管理工作总结2015
2015/05/04 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
Python pyecharts绘制条形图详解
2022/04/02 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python