Como usar a função idxmax() em pandas (com exemplos)


Você pode usar a função pandas.DataFrame.idxmax() para retornar o índice do valor máximo em um eixo especificado em um DataFrame do pandas.

Esta função usa a seguinte sintaxe:

DataFrame.idxmax(eixo=0, skipna=True)

Ouro:

  • eixo : O eixo a ser usado (0 = linhas, 1 = colunas). O valor padrão é 0.
  • skipna : Exclui ou não valores NA ou nulos. O padrão é verdadeiro.

Os exemplos a seguir mostram como usar esta função na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'points': [25, 12, 15, 8, 9, 23],
                   'assists': [5, 7, 7, 9, 12, 9],
                   'rebounds': [11, 8, 11, 6, 6, 5]},
                   index=['Andy','Bob', 'Chad', 'Dan', 'Eric', 'Frank'])

#view DataFrame
df

        points assists rebounds
Andy 25 5 11
Bob 12 7 8
Chad 15 7 11
Dan 8 9 6
Eric 9 12 6
Frank 23 9 5

Exemplo 1: Encontre um índice com valor máximo para cada coluna

O código a seguir mostra como encontrar o índice que possui o valor máximo para cada coluna:

 #find index that has max value for each column
df. idxmax (axis= 0 )

Andy points
assists Eric
rebounds Andy
dtype:object

Pelo resultado podemos ver:

  • O jogador com maior valor na coluna de pontos é Andy.
  • O jogador com maior valor na coluna de assistências é Eric.
  • O jogador com maior valor na coluna de rebotes é Andy.

É importante observar que a função idxmax() retornará a primeira ocorrência do valor máximo.

Por exemplo, observe que Andy e Chad tiveram 11 rebotes. Como Andy aparece primeiro no DataFrame, seu nome é retornado.

Exemplo 2: Encontre uma coluna com valor máximo para cada linha

O código a seguir mostra como encontrar a coluna que contém o valor máximo para cada linha:

 #find column that has max value for each row
df. idxmax (axis= 1 )

Andy points
Bob stitches
Chad points
Dan assists
Eric assists
Frank points
dtype:object

Pelo resultado podemos ver:

  • O valor mais alto na linha denominada “Andy” está na coluna de pontos .
  • O valor mais alto na linha denominada “Bob” está na coluna de pontos .
  • O valor mais alto na linha denominada “Chade” está na coluna de pontos .
  • O valor mais alto na linha denominada “Dan” está na coluna de assistências .
  • O valor mais alto na linha denominada “Eric” está na coluna de assistências .
  • O valor mais alto na linha denominada “Andy” está na coluna de pontos .

Consulte a documentação do pandas para uma explicação completa da função idxmax().

Recursos adicionais

Como encontrar o valor máximo das colunas no Pandas
Como calcular a média das colunas no Pandas
Como calcular a soma das colunas no Pandas

Add a Comment

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