Pandasset index()用于将List, Series或DataFrame设置为数据框的索引。我们可以在制作数据框时设置索引列。但是有时一个数据帧是由两个或多个数据帧组成的, 然后可以使用此方法更改索引。
句法:
DataFrame.set_index(self, keys, drop=True, append=False, inplace=False, verify_integrity=False)
参数:
键:指类似标签或数组的标签或标签/数组的列表
它可以是单个列键, 与调用DataFrame长度相同的单个数组, 也可以是包含列键和数组的任意组合的列表。
drop:返回布尔值, 默认值为True。用于删除将用作新索引的列。
append:返回布尔值, 默认值为False。
它检查是否将列附加到现有索引。
inplace:返回布尔值, 默认值为False。
它用于在适当位置修改DataFrame。我们不需要创建一个新对象。
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
输出
NameAgeid
0William32105
1Phill38132
2Parker41134
3Smith36127
现在, 我们必须设置索引以创建”月”列:
info.set_index('month')
输出
Age id
Name
William 32 105
Phill 38 132
Parker 41 134
Smith 36 127
范例2:
使用”年龄”和”名称”列创建MultiIndex:
info.set_index(['Age', 'Name'])
输出
Nameid
Age
32William105
38Phill132
41Parker134
36Smith127
范例3:
它使用索引和列创建一个MultiIndex:
info.set_index([pd.Index([1, 2, 3, 4]), 'Name'])
输出
Ageid
Name
1William32105
2Phill38132
3Parker41134
4Smith36127
示例4:
使用两个系列创建一个MultiIndex:
a = pd.Series([1, 2, 3, 4])
info.set_index([a, a**2])
输出
NameAgeid
11William32105
24Phill38132
39Parker41134
416Smith36127