iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pandasreindex重置索引的使用
  • 773
分享到

Pandasreindex重置索引的使用

2024-04-02 19:04:59 773人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录重置行列标签填充元素值限制填充行数重命名标签重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行、列标签与 DataFrame 中的数据逐一

重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行、列标签与 DataFrame 中的数据逐一匹配。通过重置索引操作,您可以完成对现有数据的重新排序。如果重置的索引标签在原 DataFrame 中不存在,那么该标签对应的元素值将全部填充为 NaN。

重置行列标签

看一组简单示例:

import pandas as pd
import numpy as np
N=20
df = pd.DataFrame({
   'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
   'x': np.linspace(0,stop=N-1,num=N),
   'y': np.random.rand(N),
   'C': np.random.choice(['Low','Medium','High'],N).tolist(),
   'D': np.random.nORMal(100, 10, size=(N)).tolist()
})
#重置行、列索引标签
df_reindexed = df.reindex(index=[0,2,5], columns=['A', 'C', 'B'])
print(df_reindexed)

输出结果:

           A       C   B
0 2020-12-07  Medium NaN
2 2020-12-09     Low NaN
5 2020-12-12    High NaN

现有 a、b 两个 DataFrame 对象,如果想让 a 的行索引与 b 相同,您可以使用 reindex_like() 方法。示例如下:

import pandas as pd
import numpy as np
a = pd.DataFrame(np.random.randn(10,3),columns=['col1','col2','col3'])
b = pd.DataFrame(np.random.randn(7,3),columns=['col1','col2','col3'])
a= a.reindex_like(b)
print(a)

输出结果:

      col1      col2      col3
0  1.776556 -0.821724 -1.220195
1 -1.401443  0.317407 -0.663848
2  0.300353 -1.010991  0.939143
3  0.444041 -1.875384  0.846112
4  0.967159  0.369450 -0.414128
5  0.320863 -1.223477 -0.337110
6 -0.933665  0.909382  1.129481

上述示例,a 会按照 b 的形式重建行索引。需要特别注意的是,a 与 b 的列索引标签必须相同。

填充元素值

reindex_like() 提供了一个可选的参数method,使用它来填充相应的元素值,参数值介绍如下:

pad/ffill:向前填充值;

bfill/backfill:向后填充值;

nearest:从距离最近的索引值开始填充。

示例如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
df2 = pd.DataFrame(np.random.randn(2,3),columns=['col1','col2','col3'])
#使df2和df1行标签相同
print(df2.reindex_like(df1))
#向前填充
print(df2.reindex_like(df1,method='ffill'))

输出结果:

#填充前
       col1      col2      col3
0  0.129055  0.835440  0.383065
1 -0.357231  0.379293  1.211549
2       NaN       NaN       NaN
3       NaN       NaN       NaN
4       NaN       NaN       NaN
5       NaN       NaN       NaN
#填充后
       col1      col2      col3
0  0.129055  0.835440  0.383065
1 -0.357231  0.379293  1.211549
2 -0.357231  0.379293  1.211549
3 -0.357231  0.379293  1.211549
4 -0.357231  0.379293  1.211549
5 -0.357231  0.379293  1.211549

限制填充行数

reindex_like() 还提供了一个额外参数 limit,该参数用来控制填充的最大行数。示例如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
df2 = pd.DataFrame(np.random.randn(2,3),columns=['col1','col2','col3'])
print (df2.reindex_like(df1))
#最多填充2行
print (df2.reindex_like(df1,method='ffill',limit=2))

输出结果:

      col1      col2      col3
0 -1.829469  0.310332 -2.008861
1 -1.038512  0.749333 -0.094335
2       NaN       NaN       NaN
3       NaN       NaN       NaN
4       NaN       NaN       NaN
5       NaN       NaN       NaN

       col1      col2      col3
0 -1.829469  0.310332 -2.008861
1 -1.038512  0.749333 -0.094335
2 -1.038512  0.749333 -0.094335
3 -1.038512  0.749333 -0.094335
4       NaN       NaN       NaN
5       NaN       NaN       NaN

由上述示例可以看出,填充了 2、3 行 缺失值,也就是只填充了 2 行数据。

重命名标签

rename() 方法允许您使用某些映射(dict或Series)或任意函数来对行、列标签重新命名,示例如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
print (df1)
#对行和列重新命名
print (df1.rename(columns={'col1' : 'c1', 'col2' : 'c2'},index = {0 : 'apple', 1 : 'banana', 2 : 'durian'}))

输出结果:

       col1      col2      col3
0 -1.762133 -0.636819 -0.309572
1 -0.093965 -0.924387 -2.031457
2 -1.231485 -0.738667  1.415724
3 -0.826322  0.206574 -0.731701
4  1.863816 -0.175705  0.491907
5  0.677361  0.870041 -0.636518

              c1        c2      col3
apple  -1.762133 -0.636819 -0.309572
banana -0.093965 -0.924387 -2.031457
durian -1.231485 -0.738667  1.415724
3      -0.826322  0.206574 -0.731701
4       1.863816 -0.175705  0.491907
5       0.677361  0.870041 -0.636518

rename() 方法提供了一个 inplace 参数,默认值为 False,表示拷贝一份原数据,并在复制后的数据上做重命名操作。若 inplace=True 则表示在原数据的基础上重命名。

到此这篇关于Pandas reindex重置索引的使用的文章就介绍到这了,更多相关Pandas reindex重置索引内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Pandasreindex重置索引的使用

本文链接: https://www.lsjlt.com/news/118773.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pandasreindex重置索引的使用
    目录重置行列标签填充元素值限制填充行数重命名标签重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行、列标签与 DataFrame 中的数据逐一...
    99+
    2024-04-02
  • Pandas reindex重置索引如何使用
    这篇文章主要介绍了Pandas reindex重置索引如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Pandas reindex重置索引如何使用文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-02
  • Pandas.DataFrame重置Series的索引index
    这篇文章主要介绍“Pandas.DataFrame重置Series的索引index”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Pandas.DataFrame重置Series的索引index”文章...
    99+
    2023-07-05
  • Pandas.DataFrame重置Series的索引index(reset_index)
    目录使用reset_index()将索引重新分配给序列号基本用法删除原始索引:参数drop更改原始对象:参数inplace使用reset_index()和set_index()将索引...
    99+
    2023-02-23
    Pandas.DataFrame重置Series索引 Pandas DataFrame reset_index
  • mysql索引的重要性及实例使用
    本篇内容主要讲解“mysql索引的重要性及实例使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql索引的重要性及实例使用”吧!  一,索引的重要性  索...
    99+
    2024-04-02
  • php数组如何重置索引
    本篇内容主要讲解“php数组如何重置索引”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组如何重置索引”吧!1. 什么是数组的重建索引数组是一个由若干个元素组成的集合,每个元素都有一个唯一...
    99+
    2023-07-05
  • win10重建索引如何设置
    本篇内容介绍了“win10重建索引如何设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win10重建索引设置教程按Windows+r,输入...
    99+
    2023-07-04
  • oracle使用索引和不使用索引的区别
    小编给大家分享一下oracle使用索引和不使用索引的区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!首先准备一张百万条数据的表,这样分析数据差距更形象!下面用分页表数据对表进行分析,根据EM...
    99+
    2024-04-02
  • mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
    目录聚集索引(Clustered Index)辅助索引(Secondary Index)覆盖索引(Covering index)联合索引《MySQL技术内幕 InnoDB存储引擎》学...
    99+
    2024-04-02
  • pandas中DataFrame重置索引的几种方法
    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取、插入等。 小笔总结了以下几种重置索引的方法: import pandas as pd import...
    99+
    2024-04-02
  • oracle索引的使用
    这篇文章主要讲解了“oracle索引的使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle索引的使用”吧!----索引反键索引t1  &...
    99+
    2024-04-02
  • 浅析php数组怎么重置索引
    在 PHP 编程中,数组是一个很常用的数据类型。在处理数组时,有时需要对数组进行重置索引的操作,以方便数组在后续的操作中使用。本文就将围绕这个主题展开,介绍在 PHP 中的数组重置索引保存和输出的一些常见问题。具体来说,本文主要分为以下几个...
    99+
    2023-05-14
    php php数组
  • mysql使用索引
    mysql使用索引?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!在排序操作中如果能使用到索引来排序,那么可以极大的提高排序...
    99+
    2024-04-02
  • sql中索引的使用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-15
  • SQL Server 2014的重建索引
    对于表的index来说,如果这个表的index size非常大的话,建议对这个表的index单独重建索引。 对全表做重建索引: alter index all on Table rebuild w...
    99+
    2024-04-02
  • Laravel重定向:使用PHP索引提高性能
    Laravel是一个非常流行的PHP框架,因为其优雅的语法和良好的文档而备受欢迎。在开发Web应用程序时,经常需要使用重定向来将用户从一个URL地址重定向到另一个URL地址。在Laravel中,重定向的实现非常简单,本文将介绍如何使用PHP...
    99+
    2023-09-13
    索引 laravel 重定向
  • Mysql索引的使用-组合索引+跳跃条件
    关于MYSQL组合索引的使用,官方对下面的例子的说法是可以使用索引:KEY(key_part1,key_part2,key_part3)select .... from table wher...
    99+
    2024-04-02
  • MySQL索引如何创建和使用索引
    创建MySQL索引可以通过以下两种方式: 使用CREATE INDEX语句创建索引: CREATE INDEX index_na...
    99+
    2024-03-06
    MySQL
  • 使用MySQL索引的原因
    这篇文章主要介绍使用MySQL索引的原因,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据库系统访问数据的两种方式:(1) 顺序访问顺序访问是在表中实行全表扫描,从头到尾逐行遍历,直...
    99+
    2024-04-02
  • 正确使用索引
        MySQL之所以能够高效的检索数据,可以说全赖索引之功。在索引使用过程中,要注意一下几点。 1、MySQL在使用索引时候,采用的是最左匹配原则。 如果是单列索引,则很容...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作