基本信息
文件名称:Python数据分析基础与应用(微课版)课件 4.4 Pandas创建与操作索引.pptx
文件大小:268.07 KB
总页数:16 页
更新时间:2025-06-20
总字数:约2.8千字
文档摘要

Python数据分析基础与应用模块4Pandas数据结构应用与数据读写操作

4.4Pandas创建与操作索引

4.4.1创建Pandas的索引对象Pandas中创建的Series对象或DataFrame对象时,既可以使用自动生成的整数索引,也可以使用自定义的标签索引。无论哪种形式的索引,都是一个Index类的对象。Index是一个基类,它派生了许多子类。使用pd.Index()方法就能创建一个索引对象。与Pandas数据结构(Series和DataFrame)中其他元素不同的是,Index对象是不可修改的(Immutable),一旦声明,它就不能改变。当不同数据结构共用Index对象时,该特性能够保证它的安全。

4.4.2获取Pandas的索引对象使用df.index属性就能获取索引对象,通过df.index.values属性就能获取索引对象的值。

4.4.3熟知Pandas索引对象的特性(1)索引对象是不可以进行修改索引的不可修改性就是说这个索引是不支持进行修改的,但是可以进行重置,换句话说索引是不支持部分修改的。索引对象的不可变性,可以保障数据的安全。(2)多个数据结构之间共享index对象两个Series对象可以安全共用同一个index对象

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

4.4.4Pandas索引设置1.使用set_index()函数设置索引set_index()函数的语法格式如下:set_index(keys,drop=True,append=False,inplace=False,verify_integrity=False)

4.4.4Pandas索引设置1.使用set_index()函数设置索引基函数参数说明如下:?keys:列标签或列标签数组列表,即需要设置为索引的列。?drop:默认值为True,表示删除用作新索引的列。?append:默认值为False,是否将列附加到现有索引。如果其值设置为True,表示原来的索引和新索引一起被保留下来。?inplace:默认值为False,表示创建一个新的dataframe,对新的dataframe进行操作,不改变原数据。如果其值设置为True,表示直接在源数据集上进行操作。?verify_integrity:默认为false,检查新索引的副本。否则,将检查推迟到必要时进行。将其设置为false可以提高该方法的性能。

4.4.4Pandas索引设置2.使用reset_index()函数重置索引reset_index()函数的语法格式如下:reset_index(level=None,drop=False,inplace=False,col_level=0,col_fill=)

4.4.4Pandas索引设置2.使用reset_index()函数重置索引其函数参数说明如下:?level:用于控制具体要还原的那个等级的索引。数值类型可以为:int、str、tuple或list,默认类型为无,仅从索引中删除给定级别。默认情况下移除所有级别。?drop:默认值为False,则索引列会被还原为普通列,否则会丢弃。?inplace:表示当前操作是否对原数据生效,默认值为false,表示不要创建新对象。?col_level:数值类型为int或str,默认值为0,如果列有多个级别,则确定将标签插入到哪个级别。默认情况下,它将插入到第1级。?col_fill:对象,默认值为,如果列有多个级别,则确定其他级别的命名方式。如果没有,则重复索引名

4.4.4Pandas索引设置3.使用reindex()函数重置索引排列顺序reindex()函数的语法格式如下:obj.reindex(index=None,columns=None,axis=None,method=None,copy=True,level=None,fill_value=nan,limit=None,tolerance=None)如果新添加的索引没有对应的值,则默认将对应元素值设置为NaN。

4.4.4Pandas索引设置3.使用reindex()函数重置索引排列顺序其函数参数说明如下:?obj:pandas对象名称;?index:用作索引的新序列。既可以是Index实例,也可以是其他序列型的Python数据结构。Index会被完全使用,