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实现把json格式转换成文本或sql文件
Jul 10 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
python实现数据写入excel表格
Mar 25 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
python实现简单图片物体标注工具
Mar 18 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
Django 实现对已存在的model进行更改
Mar 28 Python
Python插件机制实现详解
May 04 Python
详解Python 中的 defaultdict 数据类型
Feb 22 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设计模式之抽象工厂模式实例分析
2019/03/25 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
nodejs事件的监听与触发的理解分析
2015/02/12 NodeJs
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
理解 JavaScript Scoping & Hoisting(二)
2015/11/18 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
javascript异步编程的六种方式总结
2019/05/17 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Python中psutil的介绍与用法
2019/05/02 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
python编写猜数字小游戏
2019/10/06 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
2014组织生活会方案
2014/05/19 职场文书
党建目标管理责任书
2014/07/25 职场文书
上党课的心得体会
2014/09/02 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
2019财务毕业实习报告
2019/06/27 职场文书