一文速学-Pandas索引设置操作各类方法详解+代码展示

简介: 一文速学-Pandas索引设置操作各类方法详解+代码展示

前言


使用Pandasj进行数据分析时需要了解Pandas的基础数据结构Series和DataFrame。若是还不清楚的可以再去看看我之前的三篇博客详细介绍这两种数据结构的处理方法:


一文速学-数据分析之Pandas数据结构和基本操作代码


DataFrame行列表查询操作详解+代码实战


DataFrame多表合并拼接函数concat、merge参数详解+代码操作展示


Pandas中read_excel函数参数使用详解+实例代码


以上三篇均为基础知识,没有比较难的实战,比较容易学会。


首先说明一点,关于包含在异常值里面的空值和重复值均有三篇博客专门详细介绍了处理他们的方法:


一文速学-Pandas处理重复值操作各类方法详解+代码展示


一文速学-Pandas处理缺失值操作各类方法详解


一文速学-Pandas异常值检测及处理操作各类方法详解+代码展示


一、添加索引


有些数据列表处理之前是并没有列索引的,若是直接excel读取文件则默认为第一行索引。


index=pd.read_excel(r'D:\python\pythonlearn\index.xlsx')

9cb911241de543829c1123a93a069e42.png


使用header为None将不使用第一行为索引,默认从0开始索引:


index=pd.read_excel(r'D:\python\pythonlearn\index.xlsx',header=None)

a60b8ae5c4474e5e81f99b3a7cf13e17.png


read函数自带一个参数为names可以添加索引:


index=pd.read_excel(r'D:\python\pythonlearn\index.xlsx',header=None,names=['ID','name','

9c0095c7659c42a88f30cf02c14be38d.png

这样的话会将索引重写,也可以使用columns:


index.columns=['ID','name','old','weight']


16eb7ced344f4f9f806b392988e85920.png

行索引也一样:


index.index=[1,2,3,4,5,6,7,8,9,10]

a6418891473043ff9e936769c8ce4adf.png


二、重新设置索引


同样read()函数中也给出了header和index_col参数:


index=pd.read_excel(r'D:\python\pythonlearn\index.xlsx',header=None,names=['ID','name','old',

c05e43f97296427ea31c7d4eae2b7a66.png


也可以set_index重新设置索引起始位置:


set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)


keys:列标签或列标签/数组列表,需要设置为索引的列

drop:默认为True,删除用作新索引的列

append:默认为False,是否将列附加到现有索引

inplace:默认为False,是否替换原DataFrame

verify_integrity:默认为false,检查新索引的副本。否则,请将检查推迟到必要时进行。将其设置为false将提高该方法的性能。

index.set_index('ID')

da43fe27accd4d7fb15863003d29339f.png

若要保存索引列则可以修改drop为False:

3f49273ecb8f4638a5f404c3c6112625.png

append为False则将索引列加入列当中:

8e44b87415cf44b5b7b7771ad1b12884.png

三,重命名索引


之前read函数中的names就是重命名,一般可以用rename函数来进行:


index.rename(columns={'ID':'id','name':'user'})


83b9d4502a0e469b82a57b750d6fa9da.png

index.rename(index={0:1,1:2})

12ef6d1ff8eb4ec8bb6894af61e0a04b.png

四、重置索引


主要使用的是reset_index方法:


set_index=(level=None, drop=False, inplace=False, col_level=0, col_fill='')


参数解释:


level:int、str、tuple或list,默认无,仅从索引中删除给定级别。默认情况下移除所有级别。控制了具体要还原的那个等级的索引

drop:drop为False则索引列会被还原为普通列,否则会丢失

inplace:默认为false,适当修改DataFrame(不要创建新对象)

col_level:int或str,默认值为0,如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它将插入到第一级。

col_fill:对象,默认‘’,如果列有多个级别,则确定其他级别的命名方式。如果没有,则重复索引名


例如原数据集为:



d8406e4ab1194b2290c7b1fd1b0d197e.png

reset_index会将全部的index都转化为columns:


index.reset_index()


4d21cd954ebe4cc7aa0404fc0ff1073c.png

index.reset_index(level=0)


#将第0级索引转化为columns:

8636b0ad5cb94ae99f8c06bdccf382e9.png


index.reset_index(drop=False)


DataFrame

da3410ddbc634fda98150d88f9fdb9f6.png

drop为False则会把索引列变为普通列:

e6d4efbd76df49e38b02f7d1a0afdca9.png

目录
相关文章
|
2月前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含'Name'和'Age'列的DataFrame,最终结果经过转换后呈现出不同的布局。
43 6
|
8天前
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按'Name'和'Age'列排序 DataFrame。先按'Name'排序,再按'Age'排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
20 1
|
11天前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
|
21天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
24天前
|
存储 数据库连接 数据处理
数据加载与保存:Pandas中的数据输入输出操作
【4月更文挑战第16天】Pandas是Python数据分析的强大工具,支持多种数据加载和保存方法。本文介绍了如何使用Pandas读写CSV和Excel文件,以及与数据库交互。`read_csv`和`to_csv`用于CSV操作,`read_excel`和`to_excel`处理Excel文件,而`read_sql`和`to_sql`则用于数据库的读写。了解这些基本操作能提升数据处理的效率和灵活性。
|
29天前
|
数据处理 Python
使用Pandas解决问题:对比两列数据取最大值的五种方法
​在数据处理和分析中,经常需要比较两个或多个列的值,并取其中的最大值。Pandas库作为Python中数据处理和分析的强大工具,提供了多种灵活的方法来实现这一需求。本文将详细介绍五种使用Pandas对比两列数据并取最大值的方法,通过代码示例和案例分析,帮助新手更好地理解并掌握这些技巧。
25 0
|
2月前
|
数据可视化 Python
如何使用Python的Pandas库进行数据分组和聚合操作?
【2月更文挑战第29天】【2月更文挑战第105篇】如何使用Python的Pandas库进行数据分组和聚合操作?
|
2月前
|
存储 数据可视化 数据挖掘
Pandas 28种常用方法使用总结(下)
Pandas 28种常用方法使用总结
|
17天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
35 0
|
17天前
|
Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数变换数据。示例代码:导入pandas,定义一个包含'Name'和'Age'列的DataFrame,使用`melt()`转为长格式,再用`pivot()`恢复为宽格式。
26 1