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:

  1. index[ndarray] : Štítky, které se mají použít k vytvoření indexu nového snímku
  2. sloupce[ndarray] : Štítky, které se použijí k vytvoření sloupců nového rámce
  3. 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