Pandas: como selecionar colunas contendo uma string específica


Você pode usar os seguintes métodos para selecionar colunas contendo uma string específica em um DataFrame do pandas:

Método 1: selecione colunas contendo uma string específica

 df. filter (regex=' string1 ')

Método 2: selecione colunas contendo uma das várias strings

 df. filter (regex=' string1|string2|string3 ')

Os exemplos a seguir mostram como usar cada um desses métodos na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
                   ' cavs ': [18, 22, 19, 14, 14, 11, 20],
                   ' hornets ': [5, 7, 7, 9, 12, 9, 14],
                   ' spurs ': [10, 12, 14, 13, 13, 19, 22],
                   ' net ': [10, 14, 25, 22, 25, 17, 12]})

#view DataFrame
print (df)

   mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12

Exemplo 1: Selecione colunas contendo uma string específica

O código a seguir mostra como usar a função filter() para selecionar apenas colunas que contenham a string “avs” em algum lugar de seu nome:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs ')

#view DataFrame
print (df2)

   mavs cavs
0 10 18
1 12 22
2 14 19
3 15 14
4 19 14
5 22 11
6 27 20

Somente colunas com “avs” no nome serão retornadas.

Neste caso, “mavs” e “cavs” são as únicas colunas retornadas.

Exemplo 2: Selecione colunas contendo uma das várias strings

O código a seguir mostra como usar a função filter() para selecionar apenas colunas que contenham “avs” ou “ets” em algum lugar em seus nomes:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs|ets ')

#view DataFrame
print (df2)

   mavs cavs hornets nets
0 10 18 5 10
1 12 22 7 14
2 14 19 7 25
3 15 14 9 22
4 19 14 12 25
5 22 11 9 17
6 27 20 14 12

Somente colunas com “avs” ou “ets” no nome serão retornadas.

Observe que a barra vertical ( | ) é o operador ” OR ” no pandas.

Sinta-se à vontade para encadear quantos desses operadores “OR” desejar para selecionar colunas contendo uma das muitas strings diferentes.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: Como mover uma coluna na frente do DataFrame
Pandas: como verificar se a coluna contém uma string
Pandas: Como adicionar uma coluna vazia ao DataFrame (3 exemplos)

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *