📅  最后修改于: 2020-10-29 05:23:59             🧑  作者: Mango
Pandas set index()用于将List,Series或DataFrame设置为数据框的索引。我们可以在制作数据框时设置索引列。但是有时一个数据帧是由两个或多个数据帧组成的,然后可以使用此方法更改索引。
句法:
DataFrame.set_index(self, keys, drop=True, append=False, inplace=False, verify_integrity=False)
参数:
keys
:指类似标签或数组的标签或标签/数组的列表它可以是单个列键,与调用DataFrame长度相同的单个数组,也可以是包含列键和数组的任意组合的列表。
它检查是否将列附加到现有索引。
它用于在适当位置修改DataFrame。我们不需要创建一个新对象。
它检查新索引中是否有重复值。否则,它将推迟检查直到必要。它还将其设置为False,这将改善此方法的性能。
返回值:
它将行标签更改为输出。
本示例说明如何设置索引:
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
现在,我们必须设置索引以创建“月”列:
info.set_index('month')
输出:
Age id
Name
William 32 105
Phill 38 132
Parker 41 134
Smith 36 127
使用“年龄”和“名称”列创建MultiIndex:
info.set_index(['Age', 'Name'])
输出:
Name id
Age
32 William 105
38 Phill 132
41 Parker 134
36 Smith 127
它使用索引和列创建一个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
使用两个系列创建一个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