Перейти к основному содержимому
CSV First Aid

Как починить 'Unnamed: 0' в Pandas — полное руководство

Колонка 'Unnamed: 0' — одна из самых гуглимых ошибок Pandas. Появляется, когда CSV сохранили через df.to_csv() без index=False, записав индекс DataFrame как безымянную первую колонку. Вот четыре способа починить.

Метод 1: Предотвратить (лучший)

При сохранении: df.to_csv('data.csv', index=False). Это опускает колонку индекса полностью. Если индекс несёт осмысленные данные (например, дата как индекс) — назовите его сначала: df.index.name = 'date'. Тогда Pandas запишет нормальный заголовок.


Метод 2: Починить при чтении

При загрузке CSV с уже присутствующим безымянным индексом: df = pd.read_csv('data.csv', index_col=0). Это говорит Pandas трактовать колонку 0 как индекс, а не данные. Имя 'Unnamed: 0' исчезает, потому что становится индексом, а не колонкой данных.


Метод 3: Убрать колонку после загрузки

Если вы уже загрузили DataFrame: df = df.drop(columns=['Unnamed: 0']). Или надёжнее: df = df.loc[:, ~df.columns.str.contains('^Unnamed')]. Это убирает ВСЕ безымянные колонки независимо от их числа.


Метод 4: Починить сам CSV

Если нужно починить CSV один раз и поделиться (например, залить в БД, отправить коллеге): используйте CSV First Aid. Бросьте файл, фикс 'Pandas unnamed index' автоматически находит и удаляет колонку, скачиваете чистый CSV.

Это лучший подход, когда: вы не контролируете код, читающий файл; делитесь с не-Python-пользователями; хотите починить навсегда, а не добавлять index_col=0 везде.


Почему это вообще происходит?

to_csv() Pandas включает индекс по умолчанию, потому что у DataFrame всегда есть индекс. Когда создаёте DataFrame из списка или словаря без указания индекса — Pandas автогенерит RangeIndex (0, 1, 2, ...). Экспорт пишет это как первую колонку без имени.

При повторном чтении Pandas не может отличить это от настоящей колонки данных — загружает как данные и генерит имя 'Unnamed: 0' (потому что ячейка заголовка пуста).

Нет Python? CSV First Aid убирает колонку Unnamed: 0 прямо в браузере.

Почините CSV сейчас →

Похожие инструменты