Работа с названием индексной колонки в pandas DataFrame
Быстрый ответ
Для работы с именами столбцов-индексов в DataFrame при помощи pandas можно воспользоваться двумя простыми способами:
Получение имени индекса:
index_name = df.index.name
Задание имени индекса:
df.index.name = 'new_and_improved_name'
Эти простые действия позволяют удобно управлять наименованием индекса.
Преименовываем через rename_axis
Метод rename_axis
поможет вам дать новое дыхание коду и эффективно встраивать его в цепочку операций:
Переименование имени индекса:
df = df.rename_axis('fresh_title', axis='index')
Удаление имен индексов и столбцов:
df = df.rename_axis(index=None, columns=None)
С его помощью можно без труда задать имена для MultiIndex
, работая с множественным индексированием.
Разница между именем индекса и наименованиями столбцов
Важно не путать имя индекса и наименования столбцов:
Неверно — присваивать наименования столбцов в качестве имени индекса:
df.columns.name = 'index_title'
Верно — использовать .index.name
для задания имени индекса:
df.index.name = 'right_index_name'
Мнемоническое правило: df.index.name
применяется к индексу, а df.columns.name
— к меткам уровней столбцов.
Многоуровневый индекс? Решаем эту задачу!
Работа с MultiIndex
требует особого подхода:
Задание заголовков индекса:
df.index.set_names(['Level_1', 'Level_2'], inplace=True)
Итак, ваш многоуровневый DataFrame приобретает чёткую иерархическую структуру.
Изучаем атрибуты индекса
Дополнительно, для тех, кто хочет более глубоко проникнуть в атрибуты индекса DataFrame:
attributes = dir(df.index)
Подготовьтесь к открытию новых граней возможностей работы с индексами!
Визуализация
Имя индекса для DataFrame столь же значимо, как и название книги для её идентификации:
📗 DataFrame 1 (без имени)
📘 DataFrame 2 (имя: 'Главы')
📙 DataFrame 3 (имя: 'Разделы')
Изменение или проверка индекса проходят быстро и наглядно.
Чтобы задать новое имя:
📕.set_index('New_Title')
Чтобы узнать имя:
📖 = 📘.index.name
Вуаля, ваш DataFrame трансформирован, процесс освоен!
Преобразуем столбец в индекс при помощи .set_index
Чтобы столбец стал индексом и сразу же получил имя, воспользуйтесь методом:
df = df.set_index('index_column', inplace=False).rename_axis('new_index_name')
Таким образом, столбец получится превратить в индекс, присвоив ему новое наименование.
Следим за версиями
Обратите внимание: метод df.index.rename
был добавлен в pandas 0.13
, а rename_axis
заслужил популярность позже благодаря удобству использования в цепочках операций.
Не забывайте следить за обновлениями версий, чтобы избежать ошибок совместимости!
Полезные материалы
- pandas.DataFrame.rename — документация pandas 2.2.0 — подробное описание метода
rename
для переименования индексов и меток столбцов. - Введение в структуры данных — документация pandas 2.2.0 — обширное руководство по структурам данных pandas, включая объекты Index.
- python – Pandas: как удалить уровень из многоуровневого индекса столбцов? – Stack Overflow — обсуждение на Stack Overflow о работе с индексами в pandas.
- Индексация и выборка данных — документация pandas 2.2.0 — полезный источник с информацией о настройках индексов DataFrame.
- Python | Pandas DataFrame.set_index() – GeeksforGeeks — учебник по использованию метода
.set_index()
. - Иерархическая индексация | Руководство по науке о данных на Python — раздел руководства, посвящённый иерархической индексации и организации данных.
- Что мне нужно знать о pandas индексе? (Часть 1) – YouTube — видеоурок о основах работы с индексами в pandas.