Pandas: видалити стовпці, якщо ім’я містить певний рядок


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

Спосіб 1: видаліть стовпці, якщо ім’я містить певний рядок

 df. drop (list(df. filter (regex=' this_string ')), axis= 1 , inplace= True )

Спосіб 2: видаліть стовпці, якщо назва містить один із кількох певних рядків

 df. drop (list(df. filter (regex=' string1|string2|string3 ')), axis= 1 , inplace= True )

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' team_location ': ['AU', 'AU', 'EU', 'EU', 'AU', 'EU'],
                   ' player_name ': ['Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'],
                   ' points ': [22, 29, 35, 30, 18, 12]})

#view DataFrame
print (df)

  team_name team_location player_name points
0 A AU Andy 22
1 B AU Bob 29
2 C EU Chad 35
3 D EU Dan 30
4 E TO Ed 18
5 F EU Fran 12

Приклад 1: видалення стовпців, якщо ім’я містить певний рядок

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

 #drop columns whose name contains 'team'
df. drop (list(df. filter (regex=' team ')), axis= 1 , inplace= True )

#view updated DataFrame
print (df)

  player_name points
0 Andy 22
1 Bob 29
2 Chad 35
3 Dan 30
4 Ed 18
5 Fran 12

Зауважте, що два стовпці, які містять слово «команда» в назві, видалено з DataFrame.

Приклад 2: видалення стовпців, якщо ім’я містить один із кількох конкретних рядків

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

 #drop columns whose name contains 'player' or 'points'
df. drop (list(df. filter (regex=' player|points ')), axis= 1 , inplace= True )

#view updated DataFrame
print (df)

  team_name team_location
0 A AU
1 B AU
2 C EU
3D EU
4 E AU
5 F EU

Зауважте, що два стовпці, які містять «гравець» або «очки» в імені, були видалені з DataFrame.

Примітка : | Символ у pandas використовується як оператор «АБО».

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Як видалити перший стовпець у Pandas
Як видалити дублікати стовпців у Pandas
Як видалити всі стовпці, крім деяких, у Pandas

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

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