Объект Index в Pandas

Объект Index в Pandas — это базовый класс, используемый для идентификации меток осей и предоставляющий богатый функционал для представления и управления индексами данных.

Вот некоторые ключевые особенности и варианты использования объекта Index:

  • Уникальная идентификация:IndexОбъект предоставляет уникальные идентификаторы для данных, что крайне важно для выбора и обработки данных.
  • На основе меток: В отличие от позиционного индексирования (например, индексирования в списках Python),IndexЭто позволяет выполнять индексирование по меткам, делая манипулирование данными более интуитивным и гибким.
  • Поддержка типов данных:IndexОн может хранить данные нескольких типов, включая целые числа, числа с плавающей точкой, строки, дата-время и т. д.

Pandas предоставляет несколько различных типов Index для разных сценариев:

  • RangeIndex: Эффективный по памяти объект индекса целочисленных значений, похожий на аналогичный в Pythonrangeобъект.
  • Index: Самый базовый тип Index, который может содержать данные любого типа.
  • MultiIndex: Многоуровневый индекс, который позволяет иметь несколько уровней индекса, аналогично нескольким столбцам в DataFrame.
  • DatetimeIndex: Индекс, оптимизированный для данных типа дата-время, предоставляющий функциональность для работы с датой-временем.
  • PeriodIndex: Индекс на основе периодов, таких как год, квартал и т. д.
  • TimedeltaIndex: Индекс на основе временной дельты (Δt).

Конструктор Index

Класс/Метод Описание
pd.Index(data, dtype, name) Создать объект Index с поддержкой пользовательских данных, типов данных и имени.

Свойства Index

Attribute Описание
Index.values Возвращает часть данных Index (массив numpy).
Index.dtype Возвращает тип данных Index.
Index.name Возвращает или задаёт имя Index.
Index.shape Возвращает форму Index (в виде кортежа).
Index.size Возвращает количество элементов в Index.
Index.nlevels Возвращает количество уровней в Index (для MultiIndex).
Index.is_unique Проверяет, являются ли значения в Index уникальными.
Index.is_monotonic Проверяет, является ли Index монотонно возрастающим.
Index.is_monotonic_decreasing Проверяет, является ли Index монотонно убывающим.
Index.has_duplicates Проверяет, содержит ли Index повторяющиеся значения.
Index.empty Проверить, пуст ли Index.

Методы индексов

Операции с данными

Метод Описание
Index.append(other) Добавить другой Index к текущему Index.
Index.drop(labels) Удалить указанную метку.
Index.insert(loc, item) Вставить элемент в указанную позицию.
Index.unique() Вернуть уникальные значения в Index.
Index.drop_duplicates() Удалить повторяющиеся значения.
Index.sort_values() Сортировать по значению.
Index.sort_values(ascending=False) Сортировать по значению в порядке убывания.
Index.tolist() Преобразовать Index в список.
Index.to_numpy() Преобразовать Index в массив numpy.
Index.to_frame() Преобразовать Index в DataFrame.
Index.astype(dtype) Преобразовать Index в указанный тип данных.
Index.map(func) Применить функцию к каждому элементу в Index.
Index.where(cond, other) Заменить значения на основе условия.
Index.mask(cond, other) Заменить значения на основе условия (в отличие отwhere).

Операции индексирования

Метод Описание
Index.get_loc(key) Вернуть позицию указанной метки.
Index.get_indexer(target) Вернуть позицию целевого Index в текущем Index.
Index.slice_locs(start, end) Вернуть позицию среза для указанного диапазона.
Index.intersection(other) Вернуть пересечение двух Index.
Index.union(other) Вернуть объединение двух Index.
Index.difference(other) Вернуть разность двух Index.
Index.symmetric_difference(other) Вернуть симметрическую разность двух Index.
Index.isin(values) Проверить, входят ли значения Index в указанный список.
Index.reindex(target) Переиндексировать в соответствии с целевым Index.
Index.reindex_like(other) Переиндексировать в соответствии с другим Index.

Статистические вычисления

Метод Описание
Index.min() Вернуть минимальное значение в Index.
Index.max() Вернуть максимальное значение в Index.
Index.argmin() Вернуть индексную позицию минимального значения.
Index.argmax() Вернуть индексную позицию максимального значения.
Index.value_counts() Вернуть частоту каждого значения в Index.

Методы MultiIndex

Метод Описание
pd.MultiIndex.from_arrays() Создать MultiIndex из массива.
pd.MultiIndex.from_tuples() Создать MultiIndex из кортежей.
pd.MultiIndex.from_product() Создать MultiIndex из декартова произведения.
MultiIndex.levels Вернуть уровни MultiIndex.
MultiIndex.codes Возвращает коды MultiIndex.
MultiIndex.swaplevel(i, j) Меняет местами позиции двух уровней.
MultiIndex.droplevel(level) Удаляет указанный уровень.
MultiIndex.set_levels(levels) Задаёт уровни MultiIndex.
MultiIndex.set_codes(codes) Задаёт коды MultiIndex.

Пример

Пример

import pandas as pd

# Создание Index
idx = pd.Index([1, 2, 3], name='MyIndex')

# Просмотр свойств
print(idx.values)  # Вывод части данных
print(idx.name)    # Вывод имени

# Операции с данными
idx_new = idx.append(pd.Index([4, 5]))
print(idx_new)  # Вывод добавленного Index

# Операции индексирования
print(idx.get_loc(2))  # Вывод позиции метки 2

# Операции с MultiIndex
arrays = [[1, 1, 2, 2], ['A', 'B', 'A', 'B']]
multi_idx = pd.MultiIndex.from_arrays(arrays, names=('Num', 'Letter'))
print(multi_idx)

Для получения более подробной информации, пожалуйста, обратитесь кофициальной документации Pandas。

Другие расширения