For at gøre analysen af data i en tabel nemmere, kan vi omforme dataene til en mere computervenlig form ved hjælp af Pandas i Python. Pandas.melt() er en af funktionerne til at gøre det.. Pandas.melt() deaktiverer en DataFrame fra bredformat til langt format.
hvordan man forvandler streng til int
Pandaer smelter() funktion er nyttig til at massere en DataFrame ind i et format, hvor en eller flere kolonner er identifikatorvariabler, mens alle andre kolonner, betragtet som målte variabler, er upivoted til rækkeaksen, hvilket kun efterlader to ikke-identifikatorkolonner, variabel og værdi.
Python Pandas.melt() Funktionssyntaks
Syntaks: pandas.melt(frame, id_vars=Ingen, value_vars=Ingen,
var_name=Ingen, value_name='værdi', col_level=Ingen)
Parametre:
- ramme: DataFrame
- id_vars[tuple, list eller ndarray, valgfri] : Kolonne(r) til brug som identifikationsvariable.
- værdi_vars[tupel, liste eller ndarray, valgfri]: Kolonne(r) til at fjerne pivot. Hvis det ikke er angivet, bruger alle kolonner, der ikke er angivet som id_vars.
- var_navn[skalar]: Navn, der skal bruges til kolonnen 'variabel'. Hvis Ingen bruger den frame.columns.name eller 'variable'.
- værdi_navn[skalar, standard 'værdi']: Navn, der skal bruges til kolonnen 'værdi'.
- col_level[int eller streng, valgfri]: Hvis kolonner er et MultiIndex, så brug dette niveau til at smelte.
Oprettelse af en prøvedataramme
Her har vi lavet et eksempel på DataFrame, som vi vil bruge i denne artikel.
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 () gør i Pandas Eksempel
Nedenfor er eksemplet på, hvordan vi kan bruge Pandas melt()-funktionen på forskellige måder i Pandaer :
Eksempel 1: Pandaer smelter() Eksempel
I dette eksempel erpd.melt>funktionen bruges til at deaktivere 'Course'-kolonnen, mens 'Navn' bevares som identifikationsvariabel. Den resulterende DataFrame har tre kolonner: 'Navn', 'variabel' (indeholder kolonnenavnet 'Kursus') og 'værdi' (indeholder tilsvarende værdier fra 'Kursus'-kolonnen).
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
>
Produktion:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Eksempel 2: Brug af id_vars og value_vars til at smelte() af en Pandas DataFrame
I dette eksempel erpd.melt>funktionen bruges til at fjerne pivoteringen af kolonnerne 'Kursus' og 'Alder', mens du bruger 'Navn' som identifikationsvariabel.
Python3
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
mergesort-algoritme
Produktion:
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: Brug af var_navn og værdi_navn til at smelte() af en Pandas DataFrame
I dette eksempel erpd.melt>funktionen bruges med tilpassede kolonnenavne. Kolonnen 'Kursus' er upivoteret, mens 'Navn' bevares som identifikator. Den resulterende DataFrame har kolonnerne 'Name', 'ChangedVarname' (for det smeltede kolonnenavn, sat til 'Course') og 'ChangedValname' (indeholder tilsvarende værdier 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'>)> |
>
>
hvordan finder jeg skjulte apps på Android
Produktion:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Eksempel 4: Brug af ignore_index med Pandas.melt()-funktionen
I dette eksempel erpd.melt>funktionen anvendes til at fjerne pivoteringen af kolonnerne 'Kursus' og 'Alder', mens du bruger 'Navn' som identifikationsvariabel. Det originale indeks ignoreres pgaignore_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)> |
>
>
Produktion:
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>