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

目录
相关文章
|
8月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
712 0
|
11月前
|
自然语言处理 数据挖掘 数据处理
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
本文将介绍 10 个在数据处理中至关重要的 Pandas 技术模式。这些模式能够显著减少调试时间,提升代码的可维护性,并构建更加清晰的数据处理流水线。
353 3
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
1682 29
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
396 2
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
1137 1
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
2153 0
|
数据采集 数据挖掘 数据处理
如何在Pandas中将索引(index)转换为数据列
如何在Pandas中将索引(index)转换为数据列
1380 0
|
8月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
601 0
|
10月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
765 0
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
448 1

热门文章

最新文章