Как удалить безымянный столбец в pandas dataframe


Вы можете использовать следующие два метода для удаления столбца в DataFrame pandas, который содержит «Безымянный» в имени столбца:

Способ 1: удалить безымянный столбец при импорте данных

 df = pd. read_csv (' my_data.csv ', index_col= 0 )

Способ 2: удалить безымянный столбец после импорта данных

 df = df. loc [:, ~df. columns . str . contains (' ^Unnamed ')]

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1. Удаление безымянного столбца при импорте данных

Допустим, мы создаем простой DataFrame pandas и экспортируем его в файл CSV:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print (df1)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

Теперь, когда мы пытаемся прочитать файл в DataFrame pandas, первый столбец называется Безымянный: 0

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

Чтобы избежать этого, мы можем указать index_col=0 , чтобы сообщить pandas, что первый столбец на самом деле является индексным столбцом:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ', index_col= 0 )

#view DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

Пример 2. Удаление безымянного столбца после импорта данных

Допустим, мы создаем простой DataFrame pandas и экспортируем его в файл CSV:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

Теперь предположим, что мы импортируем этот файл в DataFrame pandas:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

Чтобы удалить столбец, в имени которого содержится слово «Безымянный», мы можем использовать следующий синтаксис:

 #drop any column that contains "Unnamed" in column name
df2 = df2. loc [:, ~df2. columns . str . contains (' ^Unnamed ')]

#view updated DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

Обратите внимание, что столбец «Безымянный: 0» был удален из DataFrame.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как удалить первую строку в Pandas DataFrame
Как удалить первый столбец в Pandas DataFrame
Как удалить повторяющиеся столбцы в Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *