Maison >développement back-end >Tutoriel Python >Comment puis-je transposer un DataFrame pour faire pivoter ses lignes et colonnes dans Pandas ?

Comment puis-je transposer un DataFrame pour faire pivoter ses lignes et colonnes dans Pandas ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-11 14:45:031113parcourir

How can I transpose a DataFrame to pivot its rows and columns in Pandas?

Transposer des DataFrames pour le pivotement

Le pivotement d'un DataFrame fait référence à la transposition de ses lignes et de ses colonnes pour obtenir une représentation différente des données. Dans Pandas, la méthode pivot peut être utilisée à cette fin.

Considérez le DataFrame suivant :

Indicator  Country  Year  Value
1          Angola   2005  6
2          Angola   2005  13
3          Angola   2005  10
4          Angola   2005  11
5          Angola   2005  5
1          Angola   2006  3
2          Angola   2006  2
3          Angola   2006  7
4          Angola   2006  3
5          Angola   2006  6

Pour faire pivoter ce DataFrame pour avoir les valeurs des indicateurs sous forme de nouvelles colonnes :

out = df.pivot(columns = 'Country', 'Year', 'Indicator', values = 'Value')
print(out)

Cela entraîne :

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6

Pour revenir à un mode non pivoté format :

print(out.rename_axis(columns=None).reset_index())

Cela produit :

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6

Utilisation de .pivot_table

S'il existe des combinaisons d'étiquettes en double, pivot_table peut être utilisé. Il calcule la moyenne par défaut :

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())

Résultat en :

  Country  Year    1     2     3     4    5
0  Angola  2005  6.0  13.0  10.0  11.0  5.0
1  Angola  2006  3.0   2.0   7.0   3.0  6.0

Pour plus d'informations, reportez-vous au guide de l'utilisateur Pandas sur le remodelage et les tableaux croisés dynamiques.

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