Maison >développement back-end >Tutoriel Python >Comment récupérer le nom de la colonne avec la valeur maximale pour chaque ligne dans un Pandas DataFrame ?

Comment récupérer le nom de la colonne avec la valeur maximale pour chaque ligne dans un Pandas DataFrame ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 12:41:12652parcourir

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

Récupération du nom de colonne de valeur maximale pour chaque ligne

Dans un DataFrame composé de diverses colonnes et lignes, une tâche courante consiste à identifier le colonne avec la valeur maximale pour chaque ligne. Considérez le DataFrame suivant :

Communications et recherche Business Mode de vie général<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>

Notre objectif est de créer une nouvelle colonne, intitulée « Max », qui contient le nom de la colonne associé à la valeur maximale dans chaque ligne. Le résultat souhaité ressemble à ce qui suit :

Communications et recherche Business General Lifestyle Max<br>0 0,745763 0,050847 0,118644 0,084746 Communications <br>0 0,333333 0,000000 0,583333 0.083333 Affaires <br>0 0.617021 0.042553 0.297872 0.042553 Communications <br>0 0.435897 0.000000 0.410256 0.153846 Communications <br>0 0.358974 0.076923 0.410256 0.153846 Business <br>

Pour ce faire, nous pouvons utiliser la fonction idxmax :

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)

En utilisant la fonction idxmax avec le paramètre d'axe défini sur 1 , nous déterminons l'index de colonne avec la valeur maximale pour chaque ligne. Ces informations sont ensuite utilisées pour créer une nouvelle colonne nommée « Max », qui identifie le nom de colonne correspondant à la valeur maximale de chaque ligne. Le DataFrame résultant présente le format demandé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn