Om de analyse van gegevens in een tabel eenvoudiger te maken, kunnen we de gegevens omvormen naar een meer computervriendelijke vorm met behulp van Pandas in Python. Pandas.melt() is een van de functies om dit te doen. Pandas.melt() draait een DataFrame terug van breed formaat naar lang formaat.
vb en vb net
Panda's smelten() De functie is handig om een DataFrame in een indeling te masseren waarin een of meer kolommen identificatievariabelen zijn, terwijl alle andere kolommen, die als gemeten variabelen worden beschouwd, niet meer naar de rijas worden gedraaid, waardoor er slechts twee niet-identificatiekolommen overblijven: variabele en waarde.
Python Pandas.melt() Functiesyntaxis
Syntaxis: pandas.melt(frame, id_vars=Geen, value_vars=Geen,
var_name=Geen, waarde_naam=’waarde’, col_level=Geen)
Parameters:
- kader : Gegevensframe
- id_vars[tupel, lijst of ndarray, optioneel] : Kolom(en) die als identificatievariabelen moeten worden gebruikt.
- waarde_vars[tupel, lijst of ndarray, optioneel]: Kolom(en) om de draaiing ongedaan te maken. Als dit niet is opgegeven, worden alle kolommen gebruikt die niet zijn ingesteld als id_vars.
- var_name[scalair]: Naam die moet worden gebruikt voor de kolom ‘variabele’. Indien Geen wordt frame.columns.name of ‘variable’ gebruikt.
- waarde_naam[scalair, standaard ‘waarde’]: Naam die moet worden gebruikt voor de kolom 'waarde'.
- col_level[int of string, optioneel]: Als kolommen een MultiIndex zijn, gebruik dan dit niveau om te smelten.
Een voorbeelddataframe maken
Hier hebben we een voorbeeld van een DataFrame gemaakt dat we in dit artikel zullen gebruiken.
Python3
# importing pandas as pd> import> pandas as pd> # creating a dataframe> df>=> pd.DataFrame({>'Name'>: {>0>:>'John'>,>1>:>'Bob'>,>2>:>'Shiela'>},> >'Course'>: {>0>:>'Masters'>,>1>:>'Graduate'>,>2>:>'Graduate'>},> >'Age'>: {>0>:>27>,>1>:>23>,>2>:>21>}})> df> |
>
>

melt () doen in Panda's voorbeeld
Hieronder ziet u een voorbeeld van hoe we de Pandas melt()-functie op verschillende manieren kunnen gebruiken Panda's :
Voorbeeld 1: Panda's smelten () Voorbeeld
In dit voorbeeld is depd.melt>De functie wordt gebruikt om de kolom ‘Cursus’ ongedaan te maken, terwijl ‘Naam’ als identificatievariabele behouden blijft. Het resulterende DataFrame heeft drie kolommen: 'Naam', 'variabele' (met de kolomnaam 'Cursus') en 'waarde' (met overeenkomstige waarden uit de kolom 'Cursus').
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
algoritme voor binair zoeken
>
>
Uitgang:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Voorbeeld 2: id_vars en value_vars gebruiken om () van een Pandas DataFrame te smelten
In dit voorbeeld is depd.melt>De functie wordt gebruikt om de kolommen ‘Cursus’ en ‘Leeftijd’ ongedaan te maken, terwijl ‘Naam’ als identificatievariabele wordt gebruikt.
Python3
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
Uitgang:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>
Voorbeeld 3: var_name en value_name gebruiken om () van een Pandas DataFrame te smelten
In dit voorbeeld is depd.melt>functie wordt gebruikt met aangepaste kolomnamen. De kolom ‘Cursus’ wordt niet meer gedraaid, terwijl ‘Naam’ als ID behouden blijft. Het resulterende DataFrame heeft de kolommen 'Name', 'ChangedVarname' (voor de gesmolten kolomnaam ingesteld op 'Course') en 'ChangedValname' (met overeenkomstige waarden uit de kolom 'Course').
Python3
# Names of ‘variable’ and ‘value’ columns can be customized> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>],> >var_name>=>'ChangedVarname'>, value_name>=>'ChangedValname'>)> |
>
geheel getal naar string in Java
>
Uitgang:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Voorbeeld 4: Negeer_index gebruiken met de functie Pandas.melt().
In dit voorbeeld is depd.melt>De functie wordt toegepast om de kolommen ‘Cursus’ en ‘Leeftijd’ ongedaan te maken terwijl ‘Naam’ als identificatievariabele wordt gebruikt. De oorspronkelijke index wordt genegeerd vanwege deignore_index=True>parameter.
Python3
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
>
Uitgang:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>