Pandas: удалить столбцы, если имя содержит определенную строку


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

Способ 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 )

В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:

 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 любые столбцы, содержащие слова «игрок» или «очки» в любом месте имени столбца:

 #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

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

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