pandas.DataFrame.set_index
- DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)[source]
-
Устанавливает индекс DataFrame, используя существующие столбцы.
Устанавливает индекс DataFrame (метки строк) с использованием одного или нескольких существующих столбцов или массивов (правильной длины). Индекс может заменить существующий индекс или расширить его.
- Параметры
-
- keys:метка или массив-подобный объект или список меток/массивов
-
Этот параметр может быть либо единственным ключом столбца, либо единственным массивом той же длины, что и вызываемый DataFrame, либо списком, содержащим произвольное сочетание ключей столбцов и массивов. Здесь «массив» включает
Series,Index,np.ndarray, и экземплярыIterator. - drop:bool, по умолчанию True
-
Удалить столбцы, которые будут использоваться в качестве нового индекса.
- append:bool, по умолчанию False
-
Добавить столбцы к существующему индексу.
- inplace:bool, по умолчанию False
-
Изменить DataFrame вместо создания нового.
- verify_integrity:bool, по умолчанию False
-
Проверить новый индекс на наличие дубликатов. В противном случае отложить проверку до необходимости. Установка в False повысит производительность этого метода.
- Возвращает
-
- DataFrame или None
-
Изменённые метки строк или None, если
inplace=True.
См. также
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–2022, 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/1.5.0/reference/api/pandas.DataFrame.set_index.html