For å gjøre analysen av data i en tabell enklere, kan vi omforme dataene til en mer datamaskinvennlig form ved å bruke Pandas i Python. Pandas.melt() er en av funksjonene for å gjøre det.. Pandas.melt() fjerner en DataFrame fra bredformat til langt format.
diskret matematikk negasjon
Pandaer smelter() funksjonen er nyttig for å massere en DataFrame inn i et format der én eller flere kolonner er identifikatorvariabler, mens alle andre kolonner, betraktet som målte variabler, er unpivoted til radaksen, og etterlater bare to ikke-identifikatorkolonner, variabel og verdi.
Python Pandas.melt() Funksjonssyntaks
Syntaks: pandas.melt(frame, id_vars=Ingen, value_vars=Ingen,
var_name=Ingen, value_name='value', col_level=Ingen)
Parametere:
- ramme: Dataramme
- id_vars[tuppel, liste eller ndarray, valgfritt] : Kolonne(r) som skal brukes som identifikasjonsvariabler.
- verdi_vars[tuppel, liste eller ndarray, valgfritt]: Kolonne(r) for å oppheve pivot. Hvis ikke spesifisert, bruker alle kolonner som ikke er satt som id_vars.
- var_navn[skalar]: Navn som skal brukes for «variabel»-kolonnen. Hvis ingen bruker den frame.columns.name eller 'variabel'.
- verdi_navn[skalar, standard 'verdi']: Navn som skal brukes for «verdi»-kolonnen.
- col_level[int eller streng, valgfritt]: Hvis kolonnene er en MultiIndex, bruk dette nivået til å smelte.
Opprette en prøvedataramme
Her har vi laget et eksempel på DataFrame som vi vil bruke i denne artikkelen.
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> |
>
>

smelte () gjør i Pandas Eksempel
Nedenfor er eksemplet på hvordan vi kan bruke Pandas melt()-funksjonen på forskjellige måter i Pandaer :
Eksempel 1: Pandaer smelter() Eksempel
I dette eksemplet erpd.melt>funksjonen brukes til å oppheve «Course»-kolonnen mens «Name» beholdes som identifikasjonsvariabel. Den resulterende DataFrame har tre kolonner: 'Navn', 'variabel' (som inneholder kolonnenavnet 'Kurs') og 'verdi' (som inneholder tilsvarende verdier fra 'Kurs'-kolonnen).
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
>
Produksjon:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Eksempel 2: Bruk av id_vars og value_vars for å smelte() av en Pandas DataFrame
I dette eksemplet erpd.melt>funksjonen brukes til å løsne «Kurs»- og «Alder»-kolonnene mens du bruker «Navn» som identifikasjonsvariabel.
Python3
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
32 bit arkitektur vs 64 bit
Produksjon:
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>
Eksempel 3: Bruke var_navn og verdi_navn for å smelte() av en Pandas DataFrame
I dette eksemplet erpd.melt>funksjonen brukes med tilpassede kolonnenavn. 'Kurs'-kolonnen er opphevet mens du beholder 'Navn' som identifikator. Den resulterende DataFrame har kolonnene 'Name', 'ChangedVarname' (for det smeltede kolonnenavnet, satt til 'Course'), og 'ChangedValname' (som inneholder tilsvarende verdier fra 'Course'-kolonnen).
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'>)> |
>
>
armstrong nummer
Produksjon:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Eksempel 4: Bruk av ignore_index med Pandas.melt()-funksjonen
I dette eksemplet erpd.melt>funksjonen brukes for å løsne «Course» og «Alder»-kolonnene mens du bruker «Name» som identifikatorvariabel. Den opprinnelige indeksen ignoreres på grunn avignore_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)> |
>
>
Produksjon:
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>