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 collections模块实例讲解
Apr 07 Python
python和shell实现的校验IP地址合法性脚本分享
Oct 23 Python
详解Django中Request对象的相关用法
Jul 17 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
Python socket套接字实现C/S模式远程命令执行功能案例
Jul 06 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
Django2.1.7 查询数据返回json格式的实现
Dec 29 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
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 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python实现Restful API的例子
2019/08/31 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
python右对齐的实例方法
2020/07/05 Python
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
土木工程毕业生自荐信
2013/11/12 职场文书
入党积极分子介绍信
2014/01/17 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
大学毕业寄语大全
2014/04/10 职场文书
健康家庭事迹材料
2014/05/02 职场文书
个性婚礼策划方案
2014/05/17 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers