Python技术迷

Pandas 教程-设置索引

整理:python架构师

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 id0   William 32  1051   Phill   38  1322   Parker  41  1343   Smith   36  127
专属福利 

👉点击领取:最全Python资料合集

现在,我们必须设置索引以创建 'month' 列:
info.set_index('month')
输出:
         Age  idName        William  32  105Phill    38  132Parker   41  134Smith    36  127

示例2:

使用列 'Age' 和 'Name' 创建 MultiIndex:
info.set_index(['Age', 'Name'])
输出:
Name    idAge     32  William 10538  Phill   13241  Parker  13436  Smith   127

示例3:

使用 Index 和一个列创建 MultiIndex:
info.set_index([pd.Index([1, 2, 3, 4]), 'Name'])
输出:
Age id    Name        1   William 32  1052   Phill   38  1323   Parker  41  1344   Smith   36  127

示例4:

使用两个 Series 创建 MultiIndex:

a = pd.Series([1, 2, 3, 4])  info.set_index([a, a**2])
输出:
Name    Age id1   1   William 32  1052   4   Phill   38  1323   9   Parker  41  1344   16  Smith   36  127
Image
 1
Image
热门推荐

Image