Heim >Backend-Entwicklung >Python-Tutorial >Wie rufe ich den Namen der Spalte mit dem Maximalwert für jede Zeile in einem Pandas DataFrame ab?

Wie rufe ich den Namen der Spalte mit dem Maximalwert für jede Zeile in einem Pandas DataFrame ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 12:41:12666Durchsuche

How to retrieve the name of the column with the maximum value for each row in a Pandas DataFrame?

Abrufen des Maximalwert-Spaltennamens für jede Zeile

In einem DataFrame, der aus verschiedenen Spalten und Zeilen besteht, besteht eine häufige Aufgabe darin, die zu identifizieren Spalte mit dem Maximalwert für jede Zeile. Betrachten Sie den folgenden DataFrame:

Communications and Search Business General Lifestyle<br>0 0,745763 0,050847 0,118644 0,084746<br>0 0,333333 0,000000 0,583333 0,083333<br>0 0,617021 0,042553 0,297872 0,042553<br>0 0,435897 0,000000 0,410256 0,153846<br>0 0,358974 0,076923 0,410256 0,153846<br>

Unser Ziel ist es, eine neue Spalte mit der Bezeichnung „Max“ zu erstellen, die den Spaltennamen enthält, der dem Maximalwert in jeder Zeile zugeordnet ist. Die gewünschte Ausgabe ähnelt der folgenden:

Kommunikation und Suche Business General Lifestyle Max<br>0 0,745763 0,050847 0,118644 0,084746 Kommunikation <br>0 0,333333 0,000000 0,583333 0,083333 Geschäft <br>0 0,617021 0,042553 0,297872 0,042553 Kommunikation <br>0 0,435897 0,000000 0,410256 0,153846 Kommunikation <br>0 0,358974 0,076923 0,410256 0,153846 Geschäft <br>

Um dies zu erreichen, können wir die idxmax-Funktion verwenden:

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'Communications and Search': [0.745763, 0.333333, 0.617021, 0.435897, 0.358974],
    'Business': [0.050847, 0.000000, 0.042553, 0.000000, 0.076923],
    'General': [0.118644, 0.583333, 0.297872, 0.410256, 0.410256],
    'Lifestyle': [0.084746, 0.083333, 0.042553, 0.153846, 0.153846]
})

# Find the column index with the maximum value in each row
max_column_idxs = df.idxmax(axis=1)

# Create a new column with the column names
df['Max'] = max_column_idxs

# Display the updated DataFrame
print(df)

Durch Verwendung der idxmax-Funktion mit dem auf 1 gesetzten Achsenparameter , ermitteln wir für jede Zeile den Spaltenindex mit dem Maximalwert. Diese Informationen werden dann verwendet, um eine neue Spalte mit dem Namen „Max“ zu erstellen, die den entsprechenden Spaltennamen für den Maximalwert jeder Zeile identifiziert. Der resultierende DataFrame weist das angeforderte Format auf.

Das obige ist der detaillierte Inhalt vonWie rufe ich den Namen der Spalte mit dem Maximalwert für jede Zeile in einem Pandas DataFrame ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn