Добавление заголовочного ряда в DataFrame Pandas из CSV
Быстрый ответ
Для добавления новых имен заголовков столбцов к DataFrame df
достаточно присвоить список новых заголовков атрибуту columns
. Отметим, что количество задаваемых заголовков в списке должно равняться числу столбцов в DataFrame:
df.columns = ['Заголовок1', 'Заголовок2', 'Заголовок3']
Таким образом, вы замените старые имена на новые: ['Заголовок1', 'Заголовок2', 'Заголовок3']
.
Задание заголовков при чтении файла CSV
При чтении файла CSV, который не содержит заголовки, для их добавления используйте параметр names
функции pandas.read_csv
:
df = pd.read_csv('data.csv', header=None, names=['Столбец1', 'Столбец2', 'Столбец3'])
Значение header=None
критически важно для указания pandas, что в файле отсутствуют строки заголовков. В противном случае первая строка данных будет неверно интерпретирована как заголовок.
Работа с CSV файлами имеющими разные разделители
CSV-файлы могут использовать различные разделители. Чтобы указать разделитель, используемый в файле, используйте параметр sep
:
df = pd.read_csv('data.tsv', sep='\t', header=None, names=['Столбец1', 'Столбец2', 'Столбец3'])
В данном примере показана обработка TSV-файлов (с табуляцией в качестве разделителя). Учтите, что количество имен в списке names
должно совпадать с количеством столбцов в файле.
Сохранение DataFrame с новыми заголовками
После назначения новых заголовков вы можете пожелать экспортировать DataFrame обратно в формат CSV. Для этого используйте to_csv
, не забыв установить index=False
, чтобы предотвратить сохранение индексов строк в файле:
df.to_csv('updated_data.csv', index=False)
Визуализация
Представление DataFrame напоминает витрину, где каждый столбец – это отсек с меткой:
df.columns = ['Хлеб 🍞', 'Молоко 🥛', 'Яйца 🥚']
Однозначные имена помогают разработчикам найти нужную информацию без промедления.
Установление заголовков после загрузки данных
Если требуется сначала загрузить данные и только затем задать заголовки, добавьте их в DataFrame df
после его заполнения данными:
df = pd.DataFrame(data)
df.columns = ['НовыйЗаголовок1', 'НовыйЗаголовок2', 'НовыйЗаголовок3']
Теперь каждый столбец будет иметь уникальное название, что упрощает ориентацию в данных.
Проверка структуры файла перед добавлением заголовков
Перед добавлением заголовков следует проверить структуру CSV-файла. Предварительный просмотр данных с помощью df.head()
поможет выявить возможные несоответствия и предотвратить ошибки:
print(df.head())
Это может сравниваться с дегустацией блюда перед подачей, чтобы убедиться в его качестве.
Сочетание с numpy для работы с массивами
При работе с массивами, порой, эффективней использовать numpy, а не pandas. Однако в numpy заголовки трактуются как обычная строка массива:
Продвинутое применение: Многоуровневые заголовки
Pandas поддерживает создание многоуровневых заголовков или MultiIndex, что полезно при работе с сложными структурами данных:
df.columns = pd.MultiIndex.from_tuples([('Группа1', 'Заголовок1'), ('Группа1', 'Заголовок2'), ('Группа2', 'Заголовок3')])
Это позволяет эффективно представлять сложные связи между столбцами.
Полезные материалы
- pandas.DataFrame — Документация pandas 2.2.0 — Все о
pandas.DataFrame
. - Как читать и записывать файлы – Real Python — Руководство по работе с файлами CSV.
- Основной функционал – Документация pandas 2.2.0 — Всё, что необходимо знать о переименовании столбцов.
- Работа с текстовыми данными – Документация pandas 2.2.0 — Руководство по работе с текстовыми данными.
- Введение в структуры данных – Документация pandas 2.2.0 — Объяснение использования pandas series.
- pandas.concat – Документация pandas 2.2.0 — Путеводитель по конкатенации таблиц с помощью pandas.