Страницы

Поиск по вопросам

пятница, 1 марта 2019 г.

Pandas: добавляется лишняя ячейка при назначении индексного столбца

В датасете уже есть индексная колонка. Фрагмент файла:
Index,Height,Weight 1,65.78331,112.9925 2,71.51521,136.4873 3,69.39874,153.0269 4,68.2166,142.3354 5,67.78781,144.2971
Ни одного лишнего символа.
Когда я пытаюсь сделать первую колонку индексной
data = pandas.read_csv('0030_dataset_weights_heights.csv', index_col="Index") data
То при выводе таблицы почему-то добавляется лишняя ячейка сверху, из-за этого происходит смещение

Если не назначать индексную колонку, то pandas ожидаемо назначит ее сам, при этом по строкам все будет отображаться нормально без смещений
data = pandas.read_csv('0030_dataset_weights_heights.csv') data

Как мне правильно назначить индексную колонку? Спасибо!


Ответ

Это просто имя индекса - не обращайте на него внимания.
При желании от него можно избавиться:
In [13]: df Out[13]: Height Weight Index 1 65.78331 112.9925 2 71.51521 136.4873 3 69.39874 153.0269 4 68.21660 142.3354 5 67.78781 144.2971
In [14]: df.index.name Out[14]: 'Index'
In [15]: df = df.rename_axis(None)
In [16]: df Out[16]: Height Weight 1 65.78331 112.9925 2 71.51521 136.4873 3 69.39874 153.0269 4 68.21660 142.3354 5 67.78781 144.2971
In [17]: df.index.name

UPDATE: не делайте так:
In [20]: df = df.rename_axis('Index', axis=1)
In [21]: df Out[21]: Index Height Weight 1 65.78331 112.9925 2 71.51521 136.4873 3 69.39874 153.0269 4 68.21660 142.3354 5 67.78781 144.2971
In [22]: df.columns.name # <--- NOTE: we've named column's axis as "Index"! Out[22]: 'Index'

Комментариев нет:

Отправить комментарий