Taulukossa olevien tietojen analysoinnin helpottamiseksi voimme muotoilla tiedot tietokoneystävällisempään muotoon Pythonin Pandasin avulla. Pandas.melt() on yksi funktioista sen tekemiseen. Pandas.melt() kääntää DataFrame-kehyksen leveästä pitkiin muotoon.
mikä on pino javassa
Pandat sulavat () -toiminto on hyödyllinen hierottaessa DataFrame muotoon, jossa yksi tai useampi sarake on tunnistemuuttujia, kun taas kaikki muut sarakkeet, joita pidetään mitatuina muuttujina, on irrotettu rivin akselista, jolloin jäljelle jää vain kaksi ei-tunnistesaraketta, muuttuja ja arvo.
Python Pandas.melt()-funktion syntaksi
Syntaksi: pandas.melt(frame, id_vars=Ei mitään, value_vars=Ei mitään,
var_name=Ei mitään, value_name='value', col_level=Ei mitään)
Parametrit:
- kehys: Datakehys
- id_vars[tuple, lista tai ndarray, valinnainen]: Tunnusmuuttujina käytettävät sarakkeet.
- value_vars[tuple, lista tai ndarray, valinnainen]: Sarake(t) käännettäväksi. Jos sitä ei ole määritetty, käyttää kaikkia sarakkeita, joita ei ole asetettu id_vars-arvoiksi.
- var_nimi[skalaari]: Muuttuja-sarakkeessa käytettävä nimi. Jos Ei mitään, se käyttää frame.columns.name tai 'muuttuja'.
- arvon_nimi[skalaari, oletusarvo 'arvo']: Arvo-sarakkeessa käytettävä nimi.
- col_level[int tai merkkijono, valinnainen]: Jos sarakkeet ovat MultiIndex, käytä tätä tasoa sulattamiseen.
Esimerkkitietokehyksen luominen
Tässä olemme luoneet mallin DataFrame-kehyksestä, jota käytämme tässä artikkelissa.
Python 3
# 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> |
>
>

sulaa () tee Pandas-esimerkissä
Alla on esimerkki siitä, kuinka voimme käyttää Pandas melt() -funktiota eri tavoin Pandat :
Esimerkki 1: Pandas melt() Esimerkki
Tässä esimerkissäpd.melt>-toimintoa käytetään Kurssi-sarakkeen käännöksen poistamiseen pitäen samalla 'Name' tunnistemuuttujana. Tuloksena olevassa DataFrame-kehyksessä on kolme saraketta: 'Nimi', 'muuttuja' (sisältää sarakkeen nimen 'Kurssi') ja 'arvo' (sisältää vastaavat arvot Course-sarakkeesta).
Python 3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
css-tekstin tasaus
>
>
Lähtö:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Esimerkki 2: Parametrien id_vars ja value_vars käyttö Pandas DataFramen melt():n
Tässä esimerkissäpd.melt>-toimintoa käytetään Kurssi- ja Ikä-sarakkeiden kääntämiseen, kun tunnistemuuttujana käytetään 'Nimi'.
Python 3
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
Lähtö:
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>
Esimerkki 3: Pandas DataFramen melt():n käyttäminen var_name ja value_name
Tässä esimerkissäpd.melt>-toimintoa käytetään mukautettujen sarakkeiden nimien kanssa. Kurssi-saraketta ei ole käännetty, mutta nimi säilytetään tunnisteena. Tuloksena olevassa DataFramessa on sarakkeet 'Name', 'ChangedVarname' (sulatetun sarakkeen nimen arvoksi on asetettu 'Course') ja 'ChangedValname' (sisältää vastaavat arvot Course-sarakkeesta).
Python 3
# Names of ‘variable’ and ‘value’ columns can be customized> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>],> >var_name>=>'ChangedVarname'>, value_name>=>'ChangedValname'>)> |
>
foreach silmukan konekirjoitus
>
Lähtö:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Esimerkki 4: ignore_indexin käyttäminen Pandas.melt()-funktion kanssa
Tässä esimerkissäpd.melt>-toimintoa käytetään Kurssi- ja Ikä-sarakkeiden kääntämiseen, kun tunnistemuuttujana käytetään 'Nimi'. Alkuperäinen indeksi jätetään huomiotta, koskaignore_index=True>parametri.
Python 3
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
>
Lähtö:
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>