Python | Pandas.pivot()
pandas.pivot(index, sloupce, hodnoty) Funkce vytvoří kontingenční tabulku založenou na 3 sloupcích DataFrame. Používá jedinečné hodnoty z indexu/sloupců a naplňuje je hodnotami.
Python Pandas.pivot() Syntaxe
Syntax : pandas.pivot(index, sloupce, hodnoty)
Parametry:
- index[ndarray] : Štítky, které se mají použít k vytvoření indexu nového snímku
- sloupce[ndarray] : Štítky, které se použijí k vytvoření sloupců nového rámce
- hodnoty[ndarray] : Hodnoty, které se mají použít pro naplnění hodnot nového rámce
Vrácení: Přepracovaný DataFrame
Výjimka: Pokud existují nějaké duplikáty, vyvolalo se ValueError.
Vytvoření ukázkového datového rámce
Zde vytváříme ukázkový DataFrame, který budeme používat v celém našem článku.
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> |
Výstup
A B C 0 John Masters 27 1 Boby Graduate 23 2 Mina Graduate 21
Příklady funkcí Pandas pivot().
Níže je uvedeno několik příkladů, pomocí kterých můžeme pomocí datového rámce pivotovat pandy funkce pivot() v Krajta :
- Vytváření a Pivot a DataFrame
- Vytvoření víceúrovňové kontingenční tabulky s Pandas DataFrame
- ValueError v Pivot a DataFrame
Vytváření a Pivot a DataFrame
V tomto příkladu pandas DataFrame ( df> ) se otočí tak, že sloupce „A“ a „B“ se stanou novým indexem a sloupci a hodnoty ve sloupci „C“ vyplňují buňky výsledné kontingenční tabulky. Funkce předpokládá, že každá kombinace ‚A‘ a ‚B‘ má jedinečnou odpovídající hodnotu v ‚C‘.
Python3
# values can be an object or a list> df.pivot(> 'A'> ,> 'B'> ,> 'C'> )> |
Výstup
B Graduate Masters A Boby 23.0 NaN John NaN 27.0 Mina 21.0 NaN
Vytvoření víceúrovňové kontingenční tabulky pomocí Pandas DataFrame
V tomto příkladu pandas DataFrame ( df> ) se převede na víceúrovňovou kontingenční tabulku s použitím „A“ jako indexu, „B“ jako sloupců a extrahováním hodnot z obou sloupců „C“ a „A“ k vyplnění buněk. Tento přístup umožňuje podrobnější reprezentaci dat začleněním více dimenzí do výsledné kontingenční tabulky.
Python3
# value is a list> df.pivot(index> => 'A'> , columns> => 'B'> , values> => [> 'C'> ,> 'A'> ])> |
Výstup
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 zvýšené při pivotování datového rámce
Zvýšit hodnotu ValueError, pokud existují kombinace indexů a sloupců s více hodnotami.
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'> )> |
Výstup
ValueError: Index contains duplicate entries, cannot reshape