Pandas: extrai o valor da coluna com base em outra coluna


Você pode usar a função query() em pandas para extrair o valor em uma coluna com base no valor em outra coluna.

Esta função usa a seguinte sintaxe básica:

 df. query (" team=='A' ")[" points "]

Este exemplo específico extrairá cada valor da coluna de pontos onde a coluna da equipe é igual a A.

Os exemplos a seguir mostram como usar essa sintaxe na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [11, 28, 10, 26, 6, 25, 29, 12]})

#view DataFrame
print (df)

  team position points
0 AG 11
1 AG 28
2 AF10
3AF 26
4 BG 6
5 BG 25
6 BF 29
7 BF 12

Exemplo 1: Extraia valores de coluna com base em uma condição atendida

O código a seguir mostra como extrair cada valor da coluna de pontos onde o valor da coluna da equipe é igual a “A”:

 #extract each value in points column where team is equal to 'A'
df. query (" team=='A' ")[" points "]

0 11
1 28
2 10
3 26
Name: points, dtype: int64

Esta função retorna os quatro valores da coluna de pontos onde o valor correspondente na coluna da equipe é igual a “A”.

Exemplo 2: Extraia os valores da coluna com base em uma das muitas condições atendidas

O código a seguir mostra como extrair cada valor da coluna de pontos onde o valor da coluna da equipe é igual a “A” ou o valor da coluna de posição é igual a “G”:

 #extract each value in points column where team is 'A' or position is 'G'
df. query (" team=='A' | position=='G' ")[" points "]

0 11
1 28
2 10
3 26
4 6
5 25
Name: points, dtype: int64

Esta função retorna os seis valores na coluna de pontos onde o valor correspondente na coluna equipe é igual a “A” ou o valor na coluna de posição é igual a “G”.

Exemplo 3: Extraia valores de colunas com base em múltiplas condições atendidas

O código a seguir mostra como extrair cada valor da coluna de pontos onde o valor da coluna equipe é igual a “A” e o valor da coluna posição é igual a “G”:

 #extract each value in points column where team is 'A' and position is 'G'
df. query (" team=='A' & position=='G' ")[" points "]

0 11
1 28
Name: points, dtype: int64

Esta função retorna os dois valores na coluna de pontos onde o valor correspondente na coluna equipe é igual a “A” e o valor na coluna de posição é igual a “G”.

Recursos adicionais

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

Pandas: como selecionar colunas com base na condição
Pandas: exclua linhas com base em múltiplas condições
Pandas: atualize os valores das colunas com base em outro DataFrame

Add a Comment

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