pandas.DataFrame.set_index#
- DataFrame.set_index(ключи, *, drop=True, append=False, inplace=False, verify_integrity=False)[источник]#
Установите индекс DataFrame, используя существующие столбцы.
Установить индекс DataFrame (метки строк) с использованием одного или нескольких существующих столбцов или массивов (правильной длины). Индекс может заменить существующий индекс или расширить его.
- Параметры:
- ключиметка или array-like или список меток/массивов
Этот параметр может быть либо одним ключом столбца, либо одним массивом той же длины, что и вызываемый DataFrame, либо списком, содержащим произвольную комбинацию ключей столбцов и массивов. Здесь «массив» включает
Series,Index,np.ndarray, и экземплярыIterator.- dropbool, по умолчанию True
Удалите столбцы, которые будут использоваться в качестве нового индекса.
- appendbool, по умолчанию False
Добавлять ли столбцы к существующему индексу.
- inplacebool, по умолчанию False
Следует ли изменять DataFrame вместо создания нового.
- verify_integritybool, по умолчанию 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