Pandas: como selecionar colunas com base na correspondência parcial


Você pode usar os seguintes métodos para selecionar colunas em um DataFrame do pandas com base em uma correspondência parcial:

Método 1: selecione colunas com base na correspondência parcial

 #select columns that contain 'team'
df. loc [:, df. columns . str . contains (' team ')]

Método 2: selecione colunas com base em múltiplas correspondências parciais

 #select columns that contain 'team' or 'rebounds'
df. loc [:, df. columns . str . contains (' team|rebounds ')]

Os exemplos a seguir mostram como usar cada método com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team_name ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' team_points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' assists ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' rebounds ': [6, 7, 7, 6, 10, 12, 10, 9]})

#view DataFrame
print (df)

  team_name team_points assists rebounds
0 A 5 11 6
1 To 7 8 7
2 To 7 10 7
3 to 9 6 6
4 B 12 6 10
5 B 9 5 12
6 B 9 9 10
7 B 4 12 9

Exemplo 1: Selecione colunas com base na correspondência parcial

O código a seguir mostra como selecionar todas as colunas no DataFrame do pandas que contêm “team” no nome da coluna:

 #select columns that contain 'team'
df_team_cols = df. loc [:, df. columns . str . contains (' team ')]

#view results
print (df_team_cols)

  team_name team_points
0 to 5
1 to 7
2 to 7
3 to 9
4 B 12
5 B 9
6 B 9
7 B 4

Observe que ambas as colunas com “equipe” no nome são retornadas.

Exemplo 2: Selecione colunas com base em múltiplas correspondências parciais

O código a seguir mostra como selecionar todas as colunas no DataFrame do pandas que contêm “team” ou “bounces” no nome da coluna:

 #select columns that contain 'team' or 'rebounds'
df_team_rebs = df. loc [:, df. columns . str . contains (' team|rebounds ')]

#view results
print (df_team_rebs)

  team_name team_points rebounds
0 to 5 6
1 To 7 7
2 to 7 7
3 to 9 6
4 B 12 10
5 B 9 12
6 B 9 10
7 B 4 9

Todas as colunas com “equipe” ou “rebotes” no nome são retornadas.

Nota : O | o operador representa “OR” em pandas.

Sinta-se à vontade para usar quantos desses operadores desejar para encontrar quantas correspondências parciais de string desejar.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como selecionar colunas por nome no Pandas
Como selecionar colunas por índice no Pandas
Como selecionar colunas por tipo de dados no Pandas

Add a Comment

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