My deep learning

Столбец Unnamed в датафрейме Pandas

Столбец Unnamed в датафрейме Pandas

Довольно частая проблема, с которой может встретиться начинающий аналитик или питонист при работе с Pandas - это появление столбца Unnamed при чтении какой-то структуры в датафрейм. В этой короткой заметке пишу о том, почему это происходит и как победить проблему.

Все дело в индексе по умолчанию при чтении или записи .csv файла!

Формируя дата-фрейм из какого-либо источника данных, необходимо не забывать сохранять его без индекса, вот так:

df.to_csv('c:/test.csv', index=False)
pd.read_csv('c:/test.csv')
   a  b  c
0  1  1  1
1  2  2  2
2  3  3  3

Если этого не сделать, при сохранении будет добавлен «безымянный» индекс по умолчанию:

df.to_csv('c:/test.csv')
pd.read_csv('c:/test.csv')
   Unnamed: 0  a  b  c
0           0  1  1  1
1           1  2  2  2
2           2  3  3  3

И тогда с этим придется бороться при чтении, вот так:

pd.read_csv('c:/test.csv', index_col=0)
   a  b  c
0  1  1  1
1  2  2  2
2  3  3  3

Либо путем выкидывания столбца inplace:

this = pd.read_csv('c:/test.csv')
this.drop(['Unnamed: 0'], axis=1, inplace=True)
this
   a  b  c
0  1  1  1
1  2  2  2
2  3  3  3

А это неудобно…

Все статьи с тегом preprocessing

Этот проект поддерживается KonstantinKlepikov