pandas.DataFrame.set_index
-
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)[source] -
Установить индекс DataFrame с использованием существующих столбцов.
Установить индекс DataFrame (метки строк) с использованием одного или нескольких существующих столбцов или массивов (правильной длины). Индекс может заменить существующий индекс или расширить его.
Параметры: -
keys : label or array-like or list of labels/arrays -
Этот параметр может быть либо единственным ключом столбца, либо единственным массивом той же длины, что и вызываемый DataFrame, или списком, содержащим произвольную комбинацию ключей столбцов и массивов. Здесь под «массивом» подразумеваются
Series,Indexиnp.ndarray. -
drop : bool, default True -
Удалить столбцы, которые будут использоваться в качестве нового индекса.
-
append : bool, default False -
Добавлять ли столбцы к существующему индексу.
-
inplace : bool, default False -
Изменить DataFrame на месте (не создавать новый объект).
-
verify_integrity : bool, default False -
Проверить новый индекс на наличие дубликатов. В противном случае отложить проверку до необходимости. Установка в значение False улучшит производительность этого метода.
Возвращает: - DataFrame
-
Изменённые метки строк.
См. также
-
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Создать MultiIndex с использованием столбцов ‘year’ и ‘month’:
>>> df.set_index(['year', 'month']) sale year month 2012 1 55 2014 4 40 2013 7 84 2014 10 31Создать MultiIndex с использованием Index и столбца:
>>> 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 с использованием двух Series:
>>> 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 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.DataFrame.set_index.html