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 pdb调试方法分享
Jan 21 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
PyQt5每天必学之布局管理
Apr 19 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
python issubclass 和 isinstance函数
Jul 25 Python
Pyecharts绘制全球流向图的示例代码
Jan 08 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
利用Python的folium包绘制城市道路图的实现示例
Aug 24 Python
python爬虫中抓取指数的实例讲解
Dec 01 Python
python安装mysql的依赖包mysql-python操作
Jan 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
php格式化金额函数分享
2015/02/02 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
PHP自定义错误用法示例
2016/09/28 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
python实现倒计时的示例
2014/02/14 Python
Python实现发送email的几种常用方法
2014/08/18 Python
Python 专题一 函数的基础知识
2017/03/16 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
详解python中asyncio模块
2018/03/03 Python
Python logging模块用法示例
2018/08/28 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
授权委托书样本
2014/04/03 职场文书
文秘求职信范文
2014/04/10 职场文书
2016新年年会主持词
2015/07/06 职场文书
大学运动会加油稿
2015/07/22 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL