Pandas: obtém o índice de linhas cuja coluna corresponde ao valor


Você pode usar a seguinte sintaxe para obter o índice de linhas em um DataFrame do pandas cuja coluna corresponde a valores específicos:

 df. index [df[' column_name ']== value ]. tolist ()

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', 'B', 'B', 'C', 'C', 'D'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

team points rebounds
0 to 5 11
1 to 7 8
2 to 7 10
3 B 9 6
4 B 12 6
5 C 9 5
6 C 9 9
7 D 4 12

Exemplo 1: Obtenha o índice de linhas cuja coluna corresponde ao valor

O código a seguir mostra como obter o índice de linhas com uma coluna igual a um determinado valor:

 #get index of rows where 'points' column is equal to 7
df. index [df[' points ']== 7 ]. tolist ()

[1, 2]

Isso nos diz que as linhas com valores de índice 1 e 2 possuem o valor “7” na coluna de pontos.

Observe que também podemos usar os operadores menor que e maior que para encontrar o índice de linhas onde uma coluna é menor ou maior que um determinado valor:

 #get index of rows where 'points' column is greater than 7
df. index [df[' points '] > 7 ]. tolist ()

[3, 4, 5, 6]

Isso nos diz que as linhas com valores de índice 3 , 4 , 5 e 6 possuem um valor maior que “7” na coluna de pontos.

Exemplo 2: Obtenha o índice de linhas cuja coluna corresponde à string

O código a seguir mostra como obter o índice de linhas onde uma coluna é igual a uma determinada string:

 #get index of rows where 'team' column is equal to 'B'
df. index [df[' team ']==' B ']. tolist ()

[3, 4]

Isso nos diz que as linhas com valores de índice 3 e 4 possuem o valor “B” na coluna da equipe.

Exemplo 3: Obtenha o índice de linha com múltiplas condições

O código a seguir mostra como obter o índice de linhas onde os valores de múltiplas colunas correspondem a determinadas condições:

 #get index of rows where 'points' is equal to 7 or 12
df. index [(df[' points ']== 7 ) | (df[' points ']== 12 )]. tolist ()

[1, 2, 4]

#get index of rows where 'points' is equal to 9 and 'team' is equal to 'B'
df. index [(df[' points ']== 9 ) & (df[' team ']==' B ')]. tolist ()

[3]

Recursos adicionais

Como obter o valor da célula do Pandas DataFrame
Como renomear o índice no Pandas DataFrame
Como classificar colunas por nome no Pandas

Add a Comment

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