一文速学-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

目录
相关文章
|
22天前
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
64 29
|
2月前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
63 2
|
3月前
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
173 1
|
4月前
|
数据处理 Python
Pandas中的drop_duplicates()方法详解
Pandas中的drop_duplicates()方法详解
372 2
|
4月前
|
数据处理 Python
Pandas快速统计重复值的2种方法
Pandas快速统计重复值的2种方法
217 1
|
4月前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
427 0
|
4月前
|
数据采集 数据挖掘 数据处理
如何在Pandas中将索引(index)转换为数据列
如何在Pandas中将索引(index)转换为数据列
521 0
|
2月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
101 0
|
4月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
129 1
|
2月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
65 2