Panda's: hoe u het dataframe kunt hervormen van lang naar breed
U kunt de volgende basissyntaxis gebruiken om een Panda DataFrame van lang naar breed formaat te converteren:
df = pd. pivot (df, index=' col1 ', columns=' col2 ', values=' col3 ')
In dit scenario wordt col1 de index, wordt col2 de kolommen en wordt col3 gebruikt als de waarden binnen het DataFrame.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Hervorm het Pandas DataFrame van lang naar breed
Stel dat we de volgende panda’s DataFrame in een lang formaat hebben:
import pandas as pd #create DataFrame in long format df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' player ': [1, 2, 3, 4, 1, 2, 3, 4], ' points ': [11, 8, 10, 6, 12, 5, 9, 4]}) #view DataFrame df team player points 0 to 1 11 1 to 2 8 2 to 3 10 3 to 4 6 4 B 1 12 5 B 2 5 6 B 3 9 7 B 4 4
We kunnen de volgende syntaxis gebruiken om dit DataFrame opnieuw vorm te geven van lang formaat naar breed formaat:
#reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' team ', columns=' player ', values=' points ')
#view updated DataFrame
df
player 1 2 3 4
team
A 11 8 10 6
B 12 5 9 4
Het DataFrame heeft nu een breed formaat.
We gebruikten ‘team’ als indexkolom, ‘speler’ als de kolommen en ‘punten’ als de waarden binnen het DataFrame.
Merk op dat we in plaats daarvan „speler“ als indexkolom en „team“ als kolommen kunnen gebruiken als we dat willen:
#reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' player ', columns=' team ', values=' points ')
#view updated DataFrame
df
team A B
player
1 11 12
2 8 5
3 10 9
4 6 4
Dit DataFrame is ook in een breed formaat.
Opmerking : u kunt de volledige documentatie van de pandas pivot() -functie hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:
Panda’s: hoe u het DataFrame kunt hervormen van breed naar lang
Rijen toevoegen aan een Pandas DataFrame
Kolommen toevoegen aan een Pandas DataFrame
Hoe u het voorkomen van specifieke waarden in Pandas DataFrame kunt tellen