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:
- indeksas[ndarray]: Etiketės, naudojamos kuriant naują kadro indeksą
- stulpeliai [ndarray] : Etiketės, naudojamos kuriant naujus rėmelio stulpelius
- 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