Python | Pandas.pivot()

pandas.pivot(indeksas, stulpeliai, reikšmės) funkcija sukuria suvestinę lentelę, pagrįstą 3 DataFrame stulpeliais. Naudoja unikalias reikšmes iš indekso / stulpelių ir užpildo jas reikšmėmis.

Python Pandas.pivot() Sintaksė

Sintaksė : pandas.pivot(indeksas, stulpeliai, reikšmės)

Parametrai:

  1. indeksas[ndarray]: Etiketės, naudojamos kuriant naują kadro indeksą
  2. stulpeliai [ndarray] : Etiketės, naudojamos kuriant naujus rėmelio stulpelius
  3. reikšmės[ndarray]: Reikšmės, naudojamos naujų kadrų reikšmėms užpildyti

Grąžinimai: Pertvarkyta DataFrame
Išimtis: Jei yra dublikatų, iškelta „ValueError“.

Pavyzdinio duomenų rėmelio kūrimas

Čia pateikiame pavyzdį „DataFrame“, kurį naudosime savo straipsnyje.

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>

Išvestis

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

Pandos pivot() Funkcijų pavyzdžiai

Toliau pateikiami keli pavyzdžiai, pagal kuriuos galime pasukti „DataFrame“ naudodami Pandos pivot() funkcija in Python :

  • Kuriant ir Sukite „DataFrame“.
  • Kelių lygių suvestinės lentelės kūrimas naudojant Pandas DataFrame
  • ValueError sukdami duomenų rėmelį

Kuriant ir Sukite „DataFrame“.

Šiame pavyzdyje pandos duomenų rėmelis ( df> ). Funkcija daro prielaidą, kad kiekvienas „A“ ir „B“ derinys turi unikalią atitinkamą reikšmę „C“.

Python3




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

Išvestis

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

Kelių lygių suvestinės lentelės sukūrimas naudojant Pandas DataFrame

Šiame pavyzdyje pandos DataFrame ( df> ). Šis metodas leidžia detaliau pateikti duomenis, įtraukiant kelis matmenis į gautą suvestinę lentelę.

Python3




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

Išvestis

 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 

Sukant duomenų rėmelį iškilo vertės klaida

Padidinkite ValueError, kai yra indeksų, stulpelių deriniai su keliomis reikšmėmis.

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

Išvestis

ValueError: Index contains duplicate entries, cannot reshape