Python | Pandas.pivot()
pandas.pivot(indeks, kolonner, værdier) funktion producerer en pivottabel baseret på 3 kolonner i DataFrame. Bruger unikke værdier fra indekset/kolonnerne og fylder dem med værdier.
Python Pandas.pivot() Syntaks
Syntaks : pandas.pivot(indeks, kolonner, værdier)
Parametre:
- indeks[ndarray]: Etiketter, der skal bruges til at lave en ny rammes indeks
- kolonner[ndarray]: Etiketter, der skal bruges til at lave nye rammes kolonner
- værdier[ndarray]: Værdier, der skal bruges til at udfylde nye rammers værdier
Vender tilbage: Omformet DataFrame
Undtagelse: ValueError rejst, hvis der er nogen dubletter.
Oprettelse af en prøvedataramme
Her laver vi et eksempel på DataFrame, som vi vil bruge i vores artikel hele vejen igennem.
Python3
# importing pandas as pd> import> pandas as pd> > # creating a dataframe> df> => pd.DataFrame({> 'A'> : [> 'John'> ,> 'Boby'> ,> 'Mina'> ],> > 'B'> : [> 'Masters'> ,> 'Graduate'> ,> 'Graduate'> ],> > 'C'> : [> 27> ,> 23> ,> 21> ]})> > df> |
Produktion
A B C 0 John Masters 27 1 Boby Graduate 23 2 Mina Graduate 21
Pandas pivot() Funktionseksempler
Nedenfor er nogle eksempler, hvormed vi kan pivotere en DataFrame ved hjælp af Pandaer pivot() funktion i Python :
- Oprettelse og Drej en DataFrame
- Oprettelse af en pivottabel på flere niveauer med Pandas DataFrame
- ValueError i Pivot en DataFrame
Oprettelse og Drej en DataFrame
I dette eksempel er en pandas DataFrame ( df> ) er pivoteret med kolonne 'A' og 'B', der bliver henholdsvis det nye indeks og kolonner, og værdierne i kolonne 'C' udfylder cellerne i den resulterende pivottabel. Funktionen antager, at hver kombination af 'A' og 'B' har en unik tilsvarende værdi i 'C'.
Python3
# values can be an object or a list> df.pivot(> 'A'> ,> 'B'> ,> 'C'> )> |
Produktion
B Graduate Masters A Boby 23.0 NaN John NaN 27.0 Mina 21.0 NaN
Oprettelse af en pivottabel på flere niveauer med Pandas DataFrame
I dette eksempel er pandas DataFrame ( df> ) omdannes til en pivottabel på flere niveauer, der bruger 'A' som indeks, 'B' som kolonner og udtrækker værdier fra begge kolonner 'C' og 'A' for at udfylde cellerne. Denne tilgang giver mulighed for en mere detaljeret repræsentation af dataene ved at inkorporere flere dimensioner i den resulterende pivottabel.
Python3
# value is a list> df.pivot(index> => 'A'> , columns> => 'B'> , values> => [> 'C'> ,> 'A'> ])> |
Produktion
C A B Graduate Masters Graduate Masters A Boby 23.0 NaN NaN NaN John NaN 27.0 NaN NaN Mina 21.0 NaN NaN NaN
ValueError hævet ved pivotering af en dataramme
Hæv ValueError, når der er indeks, kolonnekombinationer med flere værdier.
Python3
# importing pandas as pd> import> pandas as pd> > # creating a dataframe> df> => pd.DataFrame({> 'A'> : [> 'John'> ,> 'John'> ,> 'Mina'> ],> > 'B'> : [> 'Masters'> ,> 'Masters'> ,> 'Graduate'> ],> > 'C'> : [> 27> ,> 23> ,> 21> ]})> > > df.pivot(> 'A'> ,> 'B'> ,> 'C'> )> |
Produktion
ValueError: Index contains duplicate entries, cannot reshape