Pandas 中的 set_index() 方法用于将列表、Series 或 DataFrame 设置为数据框的索引。我们可以在创建数据框时设置索引列。但有时数据框是由两个或更多数据框组成的,然后可以使用此方法更改索引。

语法:

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

参数:

  • keys: 标签、数组或标签/数组列表

它可以是单个列键、与调用数据框长度相同的单个数组,也可以是包含列键和数组的任意组合的列表。

  • drop: 返回布尔值,默认值为 True。用于删除要用作新索引的列。
  • append: 返回布尔值,默认值为 False。

它检查是否将列附加到现有索引。

  • inplace: 返回布尔值,默认值为 False。

用于原地修改数据框。我们不需要创建新对象。

  • verify_integrity: 返回布尔值,默认值为 False。

用于检查新索引是否存在重复值。否则,它将推迟检查,直到有必要。将其设置为 False 将提高此方法的性能。

返回:

它将更改行标签作为输出。

示例1:

此示例显示如何设置索引:

import pandas as pd  
info = pd.DataFrame({'Name': ['William', 'Phill', 'Parker', 'Smith'],  
'Age': [32, 38, 41, 36],  
'id': [105, 132, 134, 127]})  
info  

输出:

    Name    Age    id
0    William    32    105
1    Phill    38    132
2    Parker    41    134
3    Smith    36    127

现在,我们必须设置索引以创建 'month' 列:

info.set_index('month')  

输出:

         Age  id
Name        
William  32  105
Phill    38  132
Parker   41  134
Smith    36  127

示例2:

使用列 'Age' 和 'Name' 创建 MultiIndex:

info.set_index(['Age', 'Name'])  

输出:

    Name    id
Age        
32    William    105
38    Phill    132
41    Parker    134
36    Smith    127

示例3:

使用 Index 和一个列创建 MultiIndex:

info.set_index([pd.Index([1, 2, 3, 4]), 'Name'])  

输出:

        Age    id
    Name        
1    William    32    105
2    Phill    38    132
3    Parker    41    134
4    Smith    36    127

示例4:

使用两个 Series 创建 MultiIndex:

a = pd.Series([1, 2, 3, 4])  
info.set_index([a, a**2])  

输出:

        Name    Age    id
1    1    William    32    105
2    4    Phill    38    132
3    9    Parker    41    134
4    16    Smith    36    127

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档