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 httplib,smtplib使用方法
Sep 06 Python
Python生成pdf文件的方法
Aug 04 Python
Python装饰器基础详解
Mar 09 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
python实现实时视频流播放代码实例
Jan 11 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
pandas提升计算效率的一些方法汇总
May 30 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获取Google AJAX Search API 数据的代码
2010/03/12 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
浅谈Python中的闭包
2015/07/08 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
体育教师工作总结的自我评价
2013/10/10 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书
Python中time与datetime模块使用方法详解
2022/03/31 Python