Як видалити стовпець без назви в pandas dataframe


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

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

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

Спосіб 2. Видаліть безіменний стовпець після імпорту даних

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

Наступні приклади показують, як використовувати кожен метод на практиці.

Приклад 1. Видалення стовпця без назви під час імпорту даних

Скажімо, ми створюємо простий pandas DataFrame і експортуємо його у файл 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 ')

Тепер, коли ми намагаємося прочитати файл у pandas DataFrame, перший стовпець має назву Unnamed: 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: видаліть безіменний стовпець після імпорту даних

Скажімо, ми створюємо простий pandas DataFrame і експортуємо його у файл 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 ')

Тепер припустімо, що ми імпортуємо цей файл у pandas DataFrame:

 #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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *