Pandas教程-设置索引

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