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
输出
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
范例2:
使用”年龄”和”名称”列创建MultiIndex:
info.set_index(['Age', 'Name'])
输出
Name id
Age
32 William 105
38 Phill 132
41 Parker 134
36 Smith 127
范例3:
它使用索引和列创建一个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:
使用两个系列创建一个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
来源:
https://www.srcmini02.com/31041.html