Spec-Zone.ru › pandas 2

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/2.2.2/reference/api/pandas.DataFrame.set_index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API