Panda's: hoe u het dataframe kunt hervormen van breed naar lang


U kunt de volgende basissyntaxis gebruiken om een Panda DataFrame van een breed formaat naar een lang formaat te converteren:

 df = pd. melt (df, id_vars=' col1 ', value_vars=[' col2 ', ' col3 ', ...])

In dit scenario is col1 de kolom die we gebruiken als identificatie en col2 , col3 , enz. zijn de kolommen waarvan we de spil ongedaan maken.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Hervorm het Pandas DataFrame van breed naar lang

Stel dat we de volgende panda’s DataFrame hebben:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D'],
                   ' points ': [88, 91, 99, 94],
                   ' assists ': [12, 17, 24, 28],
                   ' rebounds ': [22, 28, 30, 31]})

#view DataFrame
df

	team points assists rebounds
0 A 88 12 22
1 B 91 17 28
2 C 99 24 30
3 D 94 28 31

We kunnen de volgende syntaxis gebruiken om dit DataFrame opnieuw vorm te geven van een breed formaat naar een lang formaat:

 #reshape DataFrame from wide format to long format
df = pd. melt (df, id_vars=' team ', value_vars=[' points ', ' assists ', ' rebounds '])

#view updated DataFrame
df

	team variable value
0 A points 88
1 B points 91
2 C dots 9 9
3 D dots 94
4 A assists 12
5 B assists 17
6 C assists 24
7 D assists 28
8 A rebounds 22
9 B rebounds 28
10 C rebounds 30
11 D rebounds 31

Het DataFrame heeft nu een lang formaat.

We gebruikten de kolom ‚team‘ als identificatiekolom en hebben de kolommen ‚punten‘, ‚assisten‘ en ‚rebounds‘ ongedaan gemaakt.

Houd er rekening mee dat we ook de argumenten var_name en value_name kunnen gebruiken om de kolomnamen in het nieuwe lange DataFrame op te geven:

 #reshape DataFrame from wide format to long format
df = pd. melt (df, id_vars=' team ', value_vars=[' points ', ' assists ', ' rebounds '],
             var_name=' metric ', value_name=' amount ')

#view updated DataFrame
df

	team metric amount
0 A points 88
1 B points 91
2 C points 99
3 D dots 94
4 A assists 12
5 B assists 17
6 C assists 24
7 D assists 28
8 A rebounds 22
9 B rebounds 28
10 C rebounds 30
11 D rebounds 31

Opmerking : u kunt de volledige documentatie van de pandas melt() -functie hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:

Rijen toevoegen aan een Pandas DataFrame
Kolommen toevoegen aan een Pandas DataFrame
Hoe u het voorkomen van specifieke waarden in Pandas DataFrame kunt tellen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert