pandas.DataFrame.set_index#
- DataFrame.set_index(keys, *, drop=True, append=False, inplace=False, verify_integrity=False)[源代码][源代码]#
使用现有列设置 DataFrame 索引。
使用一个或多个现有列或数组(长度正确)设置 DataFrame 索引(行标签)。索引可以替换现有索引或在现有索引基础上扩展。
- 参数:
- 返回:
- DataFrame 或 None
如果
inplace=True
,则更改行标签或为 None。
参见
DataFrame.reset_index
与 set_index 相反。
DataFrame.reindex
更改到新的索引或扩展索引。
DataFrame.reindex_like
更改为与其他 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
使用两个 Series 创建一个 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