Страницы

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

суббота, 11 января 2020 г.

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

#python #pandas #dataframe #jupyter_notebook


В датасете уже есть индексная колонка. Фрагмент файла:

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




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


Ответы

Ответ 1



Это просто имя индекса - не обращайте на него внимания. При желании от него можно избавиться: 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'

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

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