Python | Pandas.pivot()

pandas.pivot(index, stĺpce, hodnoty) vytvára kontingenčnú tabuľku založenú na 3 stĺpcoch DataFrame. Používa jedinečné hodnoty z indexu/stĺpcov a napĺňa ich hodnotami.

Syntax Python Pandas.pivot().

Syntax : pandas.pivot(index, stĺpce, hodnoty)

Parametre:

  1. index[ndarray] : Štítky, ktoré sa majú použiť na vytvorenie indexu nového rámca
  2. stĺpce[ndarray] : Štítky, ktoré sa použijú na vytvorenie stĺpcov nového rámca
  3. hodnoty[ndarray] : Hodnoty, ktoré sa majú použiť na vyplnenie hodnôt nového rámca

Vrátenie: Prepracovaný DataFrame
Výnimka: Ak existujú nejaké duplikáty, vyvolala sa hodnota ValueError.

Vytvorenie vzorového dátového rámca

Tu vytvárame vzorový DataFrame, ktorý budeme používať v našom č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ýkon

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

Príklady funkcií Pandas pivot().

Nižšie je uvedených niekoľko príkladov, pomocou ktorých môžeme pomocou dátového rámca otáčať pandy funkcia pivot() v Python :

  • Vytváranie a Otočte DataFrame
  • Vytvorenie viacúrovňovej kontingenčnej tabuľky s DataFrame Pandas
  • ValueError v Pivot a DataFrame

Vytváranie a Otočte DataFrame

V tomto príklade pandas DataFrame ( df> ) sa otočí tak, že stĺpce „A“ a „B“ sa stanú novým indexom a stĺpce a hodnoty v stĺpci „C“ vyplnia bunky výslednej kontingenčnej tabuľky. Funkcia predpokladá, že každá kombinácia „A“ a „B“ má jedinečnú zodpovedajúcu hodnotu v „C“.

Python3




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

Výkon

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

Vytvorenie viacúrovňovej kontingenčnej tabuľky s Pandas DataFrame

V tomto príklade pandas DataFrame ( df> ) sa transformuje na viacúrovňovú kontingenčnú tabuľku s použitím „A“ ako indexu, „B“ ako stĺpcov a extrahovaním hodnôt z oboch stĺpcov „C“ a „A“ na vyplnenie buniek. Tento prístup umožňuje podrobnejšiu reprezentáciu údajov začlenením viacerých dimenzií do výslednej kontingenčnej tabuľky.

Python3




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

Výkon

 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 vyvolané pri otáčaní dátového rámca

Zvýšte hodnotu ValueError, ak existujú kombinácie indexov, stĺpcov s viacerými 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ýkon

ValueError: Index contains duplicate entries, cannot reshape