Hoe de idxmax()-functie in panda's te gebruiken (met voorbeelden)


U kunt de functie pandas.DataFrame.idxmax() gebruiken om de index van de maximale waarde op een opgegeven as in een pandas DataFrame te retourneren.

Deze functie gebruikt de volgende syntaxis:

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

Goud:

  • as : De te gebruiken as (0 = rijen, 1 = kolommen). De standaardwaarde is 0.
  • skipna : Of NA- of null-waarden wel of niet moeten worden uitgesloten. De standaardwaarde is Waar.

De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 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

Voorbeeld 1: Zoek een index met een maximale waarde voor elke kolom

De volgende code laat zien hoe u de index kunt vinden die de maximale waarde voor elke kolom heeft:

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

Andy points
assists Eric
rebounds Andy
dtype:object

Uit het resultaat kunnen we zien:

  • De speler met de hoogste waarde in de puntenkolom is Andy.
  • De speler met de hoogste waarde in de kolom assists is Eric.
  • De speler met de hoogste waarde in de reboundskolom is Andy.

Het is belangrijk op te merken dat de functie idxmax() de eerste keer dat de maximale waarde voorkomt, retourneert.

Merk bijvoorbeeld op dat Andy en Chad allebei 11 rebounds hadden. Omdat Andy als eerste in het DataFrame verschijnt, wordt zijn naam geretourneerd.

Voorbeeld 2: Zoek een kolom met een maximale waarde voor elke rij

De volgende code laat zien hoe u de kolom kunt vinden die de maximale waarde voor elke rij bevat:

 #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

Uit het resultaat kunnen we zien:

  • De hoogste waarde in de rij met het label ‚Andy‘ staat in de puntenkolom .
  • De hoogste waarde in de rij met het label ‚Bob‘ staat in de puntenkolom .
  • De hoogste waarde in de rij met het label ‚Tsjaad‘ staat in de puntenkolom .
  • De hoogste waarde in de rij met het label ‚Dan‘ staat in de kolom ‚Assistents ‚.
  • De hoogste waarde in de rij met het label ‚Eric‘ staat in de kolom ‚Assistents ‚.
  • De hoogste waarde in de rij met het label ‚Andy‘ staat in de puntenkolom .

Raadpleeg de panda-documentatie voor een volledige uitleg van de functie idxmax().

Aanvullende bronnen

Hoe u de maximale waarde van kolommen in Panda’s kunt vinden
Hoe het gemiddelde van kolommen in Panda’s te berekenen
Hoe de som van kolommen in Panda’s te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert