Pandas中DataFrame的基本操作之重新索引讲解

 更新时间:2022年07月16日 10:54:40   作者:iter_better  
这篇文章主要介绍了Pandas中DataFrame的基本操作之重新索引,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Pandas DataFrame之重新索引

1.reindex可以对行和列索引

默认对行索引,加上关键字columns对列索引。

import pandas as pd
data=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]]
df = pd.DataFrame(data,index=['d','b','c','a'])
print(df)

默认对列索引:如果是新的索引名将会用NaN

df=df.reindex(['a','b','c','d','e'])
print(df)

加上关键字columns对列重新索引:

df=df.reindex(columns=[2,1,3,4,0])
print(df)

2.reindex插值处理

对于index为有序的数据,我们有时候可能会进行一些插值处理,只需要在reindex加上method参数即可,参数如下表

(图片来源:截图于 利用python进行数据分析 Wes McKinney 著)

例子:

import pandas as pd 
data=[[1,1,1,1],[2,2,2,2],[3,3,3,3]]
df = pd.DataFrame(data,index=range(3))
print(df)
df=df.reindex([0,1,2,3,4,5],method='ffill')
print('--------------')
print(df)

reindex函数的相关参数:

(图片来源:截图于 利用python进行数据分析 Wes McKinney 著)

Pandas DataFrame重置索引案例

import pandas as pd
import numpy as np
a=pd.DataFrame(np.random.randint(1,10,20).reshape(4,5))
print(a)
   0  1  2  3  4
0  1  3  2  7  6
1  8  2  2  7  2
2  2  6  6  2  5
3  4  1  6  8  9
b=a.sort_values(by=4)
print(b)
   0  1  2  3  4
1  8  2  2  7  2
2  2  6  6  2  5
0  1  3  2  7  6
3  4  1  6  8  9
### 重置索引:方法1
c=a.sort_values(by=4,ignore_index=True)
print(c)
   0  1  2  3  4
0  8  2  2  7  2
1  2  6  6  2  5
2  1  3  2  7  6
3  4  1  6  8  9
### 重置索引:方法2
d=b.reset_index(drop=True)
print(d)
   0  1  2  3  4
0  8  2  2  7  2
1  2  6  6  2  5
2  1  3  2  7  6
3  4  1  6  8  9

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python pandas如何向excel添加数据

    Python pandas如何向excel添加数据

    这篇文章主要介绍了Python pandas如何向excel添加数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • kNN算法python实现和简单数字识别的方法

    kNN算法python实现和简单数字识别的方法

    这篇文章主要介绍了kNN算法python实现和简单数字识别的方法,详细讲述了kNN算法的优缺点及原理,并给出了应用实例,需要的朋友可以参考下
    2014-11-11
  • 五个Pandas 实战案例带你分析操作数据

    五个Pandas 实战案例带你分析操作数据

    pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效操作大型数据集的工具。pandas提供大量快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python强大而高效的数据分析环境的重要因素之一
    2022-01-01
  • Python实现查找二叉搜索树第k大的节点功能示例

    Python实现查找二叉搜索树第k大的节点功能示例

    这篇文章主要介绍了Python实现查找二叉搜索树第k大的节点功能,结合实例形式分析了Python二叉搜索树的定义、查找、遍历等相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • python实现QQ邮箱群发邮件实例

    python实现QQ邮箱群发邮件实例

    大家好,本篇文章主要讲的是python实现QQ邮箱群发邮件实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • python中的被动信息搜集

    python中的被动信息搜集

    这篇文章主要介绍了python中的被动信息搜集的相关资料,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 对python 矩阵转置transpose的实例讲解

    对python 矩阵转置transpose的实例讲解

    下面小编就为大家分享一篇对python 矩阵转置transpose的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python使用tomorrow实现多线程的例子

    python使用tomorrow实现多线程的例子

    今天小编就为大家分享一篇python使用tomorrow实现多线程的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python微信跳一跳系列之棋子定位颜色识别

    python微信跳一跳系列之棋子定位颜色识别

    这篇文章主要为大家详细介绍了python微信跳一跳系列之棋子定位之颜色识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 详解numpy的argmax的具体使用

    详解numpy的argmax的具体使用

    这篇文章主要介绍了详解numpy的argmax的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论