it-swarm.com.de

Python-Pandas: Konvertieren Sie Zeilen als Spaltenüberschriften

Ich habe den folgenden Datenrahmen:

Year    Country          medal    no of medals
1896    Afghanistan      Gold        5
1896    Afghanistan      Silver      4
1896    Afghanistan      Bronze      3
1896    Algeria          Gold        1
1896    Algeria          Silver      2
1896    Algeria          Bronze      3

Ich will es so haben.

Year    Country      Gold   Silver   Bronze
1896    Afghanistan    5      4         3
1896    Algeria        1      2         3

Stack/Unstack scheint nicht zu funktionieren.

32
richie

Sie suchen nach pivot_table :

In [11]: medals = df.pivot_table('no of medals', ['Year', 'Country'], 'medal')

In [12]: medals
Out[12]:
medal             Bronze  Gold  Silver
Year Country
1896 Afghanistan       3     5       4
     Algeria           3     1       2

und wenn Sie die Spalten neu anordnen möchten:

In [12]: medals.reindex_axis(['Gold', 'Silver', 'Bronze'], axis=1)
Out[12]:
medal             Gold  Silver  Bronze
Year Country
1896 Afghanistan     5       4       3
     Algeria         1       2       3
44
Andy Hayden

Stack/Unstack funktioniert erst, wenn Sie die gewünschte Spalte in Ihren Zeilen-/Spaltenindizes haben. z.B. In einfachen Worten, Stack/Unstack bringt die unterste Ebene des Spaltenindex auf die unterste Ebene des Zeilenindex und umgekehrt. 

In Ihrem Fall können Sie also mit Stapeln/Entstapeln die gleichen Ergebnisse erzielen

 enter image description here

0
Manu Sharma