pandas中DataFrame.set_index方法详解与参数使用

Theo
Theo
发布时间:2026-10-15 | 4人浏览过
原创

本文详细介绍pandas库中DataFrame.set_index方法的具体使用。涵盖key、drop、append、inplace及verify_integrity等核心参数的含义与配置,通过实例演示如何指定单列或多列作为索引,以及如何构建多级索引和原地修改数据框,帮助开发者高效处理数据索引。

在数据处理过程中,经常需要对数据索引进行调整,此时可以使用set_index和reset_index方法来完成相关操作。

官方文档

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

参数解释

构建实例

import pandas as pd
df = pd.DataFrame(data={'height':[178,171,185,196],'weight':[156,90,140,142],
                        'name':['小王','小明','小绿','小红']})
df

    height    weight    name
0    178        156        小王
1    171        90        小明
2    185        140        小绿
3    196        142        小红

key:label array-like or list of label/arrays

该参数用于指定需要设置为索引的数据,可以是单个标签、数组,或者是标签或数组的列表。

df.set_index('name')#指定某一列为索引

    height    weight
name        
小王    178        156
小明    171        90
小绿    185        140
小红    196        142

drop:bool,default True

此参数控制是否删除原本作为索引使用的列,默认值为True,即执行后该列将从数据框中移除。

df.set_index('name',drop=False)

        height    weight    name
name            
小王    178        156        小王
小明    171        90        小明
小绿    185        140        小绿
小红    196        142        小红

append:bool default False

当设置为True时,会将指定序列添加到现有索引中,从而形成多级索引结构。

df.set_index(df['name'],append = True)

            height    weight    name
    name            
0    小王    178        156        小王
1    小明    171        90        小明
2    小绿    185        140        小绿
3    小红    196        142        小红
# 前两列都为索引

inplace:bool default False

若设为True,结果将直接返回给原变量,无需重新赋值。

df#原df

    height    weight    name
0    178        156        小王
1    171        90        小明
2    185        140        小绿
3    196        142        小红

df.set_index(df['name'],append = True,inplace = True)
            height    weight    name
    name            
0    小王    178        156        小王
1    小明    171        90        小明
2    小绿    185        140        小绿
3    小红    196        142        小红

df#无需对df重新赋值,df即为上边代码的结果
            height    weight    name
    name            
0    小王    178        156        小王
1    小明    171        90        小明
2    小绿    185        140        小绿
3    小红    196        142        小红

verify_integrity:bool default False

该参数用于检查生成的索引是否存在重复值,默认值为False,即不进行检查。

到此这篇关于pandas学习之df.set_index的具体使用的文章就介绍到这了,更多相关pandas df.set_index内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表