Como obter números de linha em um dataframe do pandas


Freqüentemente, você pode querer obter números de linha em um DataFrame do pandas que contenha um determinado valor.

Felizmente, isso é fácil de fazer usando a função .index .

Este tutorial mostra vários exemplos de uso prático desta função.

Exemplo 1: Obtenha números de linhas que correspondam a um determinado valor

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

#view DataFrame 
print (df)

        team assists points
0 25 5 Mavs
1 12 7 Mavs
2 15 7 Spurs
3 14 9 Celtics
4 19 12 Warriors

Podemos usar a seguinte sintaxe para obter os números das linhas onde “team” é igual a Mavs:

 #get row numbers where 'team' is equal to Mavs
df[df[' team '] == ' Mavs ']. index

Int64Index([0, 1], dtype='int64')

Podemos ver que o nome da equipe é igual a ‘Mavs’ nas linhas índice 0 e 1 .

Também podemos obter os números das linhas onde o nome da equipe é encontrado em uma determinada lista de nomes de equipes:

 #get row numbers where 'team' is equal to Mavs or Spurs
filter_list = [' Mavs ', ' Spurs ']

#return only rows where team is in the list of team names
df[df. team . isin (filter_list)]. index

Int64Index([0, 1, 2], dtype='int64')

Podemos ver que o nome do time é igual a ‘Mavs’ ou ‘Spurs’ nos índices de linha 0 , 1 e 2 .

Exemplo 2: Obtenha um número de linha exclusivo

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

Se você souber que uma única linha corresponde a um determinado valor, poderá recuperar esse número de linha exclusivo usando a seguinte sintaxe:

 #get the row number where team is equal to Celtics
df[df[' team '] == ' Celtics ']. index [ 0 ]

3

Podemos ver que a equipe é igual a “Celtics” no índice de linha número 3 .

Exemplo 3: Obtenha a soma dos números das linhas

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

Se quiser saber o número total de linhas em que uma coluna é igual a um determinado valor, você pode usar a seguinte sintaxe:

 #find total number of rows where team is equal to Mavs
len (df[df[' team '] == ' Celtics ']. index )

2

Podemos ver que esta equipe é igual a “Mavs” em um total de 2 linhas.

Recursos adicionais

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

Como encontrar valores únicos em múltiplas colunas no Pandas
Como filtrar um DataFrame do Pandas em múltiplas condições
Como contar valores ausentes em um DataFrame do Pandas

Add a Comment

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