在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重置设置索引的更多相关文章

  1. pandas中DataFrame的ix,loc,iloc索引方式的异同

    pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...

  2. DataFrame 重新设置索引: reindex 和 reset_index 的区别

    将两个 DataFrame 拼接后,想要对拼接后的 DataFrame 重新设置索引要用 reset_index 方法,要想让之前的索引消失,传入参数:drop=True.具体事例: data2017 ...

  3. Spark与Pandas中DataFrame对比

      Pandas Spark 工作方式 单机single machine tool,没有并行机制parallelism不支持Hadoop,处理大量数据有瓶颈 分布式并行计算框架,内建并行机制paral ...

  4. Spark与Pandas中DataFrame对比(详细)

      Pandas Spark 工作方式 单机single machine tool,没有并行机制parallelism不支持Hadoop,处理大量数据有瓶颈 分布式并行计算框架,内建并行机制paral ...

  5. Pandas中DataFrame修改列名

    Pandas中DataFrame修改列名:使用 rename df = pd.read_csv('I:/Papers/consumer/codeandpaper/TmallData/result01- ...

  6. pandas中DataFrame对象to_csv()方法中的encoding参数

    当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...

  7. pandas中DataFrame相关

    1.创建 1.1  标准格式创建 DataFrame创建方法有很多,常用基本格式是:DataFrame 构造器参数:DataFrame(data=[],index=[],coloumns=[]) In ...

  8. pandas中DataFrame和Series的数据去重

    在SQL语言中去重是一件相当简单的事情,面对一个表(也可以称之为DataFrame)我们对数据进行去重只需要GROUP BY 就好. select custId,applyNo from tmp.on ...

  9. pandas中DataFrame使用

    切片选择 #显示第一行数据print(df.head(1)) #显示倒数三行数据 print(df.tail(3)) loc  df.loc[row_index,col_index]  注意loc是根 ...

随机推荐

  1. (五)微信小程序的跳转

    我们在微信页面往往有点击一个图片就可以跳转的情况,接下来我们就学习一下这个功能 一  js版本--bindtap 实现跳转 1. 首先我们先写一个跳转的按钮(在index.wxml) <view ...

  2. NO6 alias-unalias命令,递归创建目录,如何取消覆盖提示

    ·如果需要更新补丁则执行:·yum update·yum install lrzsz telnet tree nmap nc -y·alias #查看系统现有的别名.        一.设置别名eg: ...

  3. DIV 透明度 设置

    filter:alpha(opacity=70); -moz-opacity:0.70;-khtml-opacity: 0.70;   opacity: 0.70;

  4. 每天一点点之python - 基础语法

    1.字符串的拼接 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125) 输出结果如下: 可以通过和c语言一样,也可以通过format()来实现 2.简单运 ...

  5. PyPI提供双因素身份验证(2FA),已提高下载安全性

    前天,Python的核心开发团队宣布PyPI现在提供双因素身份验证(2FA),以提高Python包下载的安全性,从而降低未经授权的帐户访问的风险.该团队宣布将在Python Package Index ...

  6. Spring源码分析——(001)环境搭建

    1.官方参考 spring-framework的github链接:https://github.com/spring-projects/spring-framework 源码环境搭建官方参考1:考如何 ...

  7. 在 Windows 系统上安装 Jekyll

    目录 安装 Ruby 环境 用 Bundler 安装 Jekyll 本文是写给完全未用过 Ruby 乃至命令行工具者的.对于一般的开发者,Jekyll 官方文档的相关内容已然足够. 本文为钱院学辅技术 ...

  8. 13.swoole学习笔记--DNS查询

    <?php //执行DNS查询 swoole_async_dns_lookup("www.baidu.com",function($host,$ip){ echo $ip; ...

  9. 六十九、SAP中内表插入的三种方法之三,INSERT的使用,用于指定位置插入

    一.代码如下 二.需要注意的时候,如果内表和工作区同名,这可以用隐式插入,不需要什么工作区INTO到什么表,INDEX为位置,效果图如下:

  10. kafka源码系列之mysql数据增量同步到kafka

    一,架构介绍 生产中由于历史原因web后端,mysql集群,kafka集群(或者其它消息队列)会存在一下三种结构. 1,数据先入mysql集群,再入kafka 数据入mysql集群是不可更改的,如何再 ...