python index函数应用_Python pandas.DataFrame.set_index函数方法的使用
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)[source]
使用现有列设置DataFrame索引。
使用一个或多个现有的列或数组(正确的长度)设置DataFrame索引(行标签)。索引可以替换现有索引或在其上展开。
参数:keys:label或 array-like或 labels/arrays的list
此参数可以是单个列键,
长度与调用DataFrame相同的单个数组,
也可以是包含列键和数组的任意组合的列表。
在这里,“array”包括Series,Index,
np.ndarray,和Iterator的实例。
drop:bool, 默认为 True
删除要用作新索引的列。
append:bool, 默认为False
是否将列追加到现有索引。
inplace:bool, 默认为 False
适当地修改DataFrame(不创建新对象)。
verify_integrity:bool, 默认为 False
检查新索引是否重复。否则,将检查推迟到必要时进行。设置为False将改善此方法的性能。
返回值:DataFrame
更改了行标签。
例子>>> df = pd.DataFrame({'month': [1, 4, 7, 10],
... 'year': [2012, 2014, 2013, 2014],
... 'sale': [55, 40, 84, 31]})
>>> df
month year sale
0 1 2012 55
1 4 2014 40
2 7 2013 84
3 10 2014 31
将索引设置为 ‘month’ 列:>>> df.set_index('month')
year sale
month
1 2012 55
4 2014 40
7 2013 84
10 2014 31
使用‘year’和‘month’列创建一个MultiIndex:>>> df.set_index(['year', 'month'])
sale
year month
2012 1 55
2014 4 40
2013 7 84
2014 10 31
使用索引和列创建MultiIndex:>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])
month sale
year
1 2012 1 55
2 2014 4 40
3 2013 7 84
4 2014 10 31
使用两个系列创建一个MultiIndex:>>> s = pd.Series([1, 2, 3, 4])
>>> df.set_index([s, s**2])
month year sale
1 1 1 2012 55
2 4 4 2014 40
3 9 7 2013 84
4 16 10 2014 31