Python | Pandas.pivot()

pandas.pivot(indeks, kolonner, verdier) funksjonen produserer en pivottabell basert på 3 kolonner i DataFrame. Bruker unike verdier fra indeksen/kolonnene og fyller dem med verdier.

Python Pandas.pivot() Syntaks

Syntaks : pandas.pivot(indeks, kolonner, verdier)

Parametere:

  1. indeks[ndarray]: Etiketter som skal brukes til å lage en ny rammeindeks
  2. kolonner[ndarray] : Etiketter som skal brukes til å lage nye rammes kolonner
  3. verdier[ndarray]: Verdier som skal brukes for å fylle ut verdier for nye rammer

Returnerer: Omformet DataFrame
Unntak: ValueError reist hvis det er noen duplikater.

Opprette en prøvedataramme

Her lager vi et eksempel på DataFrame som vi vil bruke i artikkelen vår gjennom.

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>

Produksjon

 A B C 0 John Masters 27 1 Boby Graduate 23 2 Mina Graduate 21 

Pandas pivot() Funksjonseksempler

Nedenfor er noen eksempler som vi kan pivotere en DataFrame med Pandaer pivot() funksjon i Python :

  • Skaper og Pivot en DataFrame
  • Opprette en pivottabell på flere nivåer med Pandas DataFrame
  • ValueError i Pivot en DataFrame

Skaper og Pivot en DataFrame

I dette eksemplet, en pandas DataFrame ( df> ) er pivotert med kolonnene 'A' og 'B' som blir henholdsvis den nye indeksen og kolonnene, og verdiene i kolonne 'C' fyller ut cellene i den resulterende pivottabellen. Funksjonen forutsetter at hver kombinasjon av 'A' og 'B' har en unik tilsvarende verdi i 'C'.

Python3




# values can be an object or a list> df.pivot(> 'A'> ,> 'B'> ,> 'C'> )>

Produksjon

B Graduate Masters A Boby 23.0 NaN John NaN 27.0 Mina 21.0 NaN 

Opprette en pivottabell på flere nivåer med Pandas DataFrame

I dette eksemplet, pandas DataFrame ( df> ) transformeres til en pivottabell på flere nivåer, ved å bruke 'A' som indeks, 'B' som kolonnene, og trekke ut verdier fra begge kolonnene 'C' og 'A' for å fylle cellene. Denne tilnærmingen gir mulighet for en mer detaljert representasjon av dataene, og inkluderer flere dimensjoner i den resulterende pivottabellen.

Python3




# value is a list> df.pivot(index> => 'A'> , columns> => 'B'> , values> => [> 'C'> ,> 'A'> ])>

Produksjon

 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 hevet ved pivotering av en dataramme

Øk ValueError når det er noen indeks, kolonnekombinasjoner med flere verdier.

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'> )>

Produksjon

ValueError: Index contains duplicate entries, cannot reshape