Lai atvieglotu datu analīzi tabulā, mēs varam pārveidot datus datoriem draudzīgākā formā, izmantojot Pandas programmā Python. Pandas.melt() ir viena no funkcijām, lai to paveiktu. Pandas.melt() atgriež DataFrame no platā formāta uz garo formātu.
Oracle sql nav vienāds
Pandas kūst () Funkcija ir noderīga, lai iemasētu DataFrame formātā, kurā viena vai vairākas kolonnas ir identifikatora mainīgie, bet visas pārējās kolonnas, kas tiek uzskatītas par izmērītajiem mainīgajiem, ir atvienotas uz rindas asi, atstājot tikai divas kolonnas bez identifikācijas — mainīgais un vērtība.
Python Pandas.melt() Funkcijas sintakse
Sintakse: pandas.melt(frame, id_vars=Nav, value_vars=Nav,
var_name=Nav, value_name='value', col_level=Nav)
Parametri:
- rāmis: DataFrame
- id_vars[korpuss, saraksts vai ndarray, neobligāts]: Kolonna(-as), ko izmantot kā identifikatora mainīgos.
- value_vars[korpuss, saraksts vai ndarray, neobligāts]: Kolonna(-as), kas jāatceļ. Ja nav norādīts, tiek izmantotas visas kolonnas, kas nav iestatītas kā id_vars.
- var_nosaukums[skalārs]: Nosaukums, kas jāizmanto kolonnai “mainīgais”. Ja nav, tas izmanto frame.columns.name vai mainīgo.
- vērtības_nosaukums [skalārs, noklusējuma 'vērtība']: Nosaukums, kas jāizmanto kolonnai “vērtība”.
- col_level[int vai virkne, neobligāti]: Ja kolonnas ir MultiIndex, izmantojiet šo līmeni, lai izkausētu.
Parauga DataFrame izveide
Šeit mēs esam izveidojuši DataFrame paraugu, ko izmantosim šajā rakstā.
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> |
>
>

izkausēt () darīt Pandas piemērā
Tālāk ir sniegts piemērs tam, kā Pandas melt() funkciju var izmantot dažādos veidos Pandas :
1. piemērs: Pandas melt() Piemērs
Šajā piemērāpd.melt>Funkcija tiek izmantota, lai pagrieztu sleju “Kurss”, vienlaikus saglabājot “Nosaukums” kā identifikatora mainīgo. Iegūtajā DataFrame ir trīs kolonnas: 'Nosaukums', 'mainīgais' (satur kolonnas nosaukumu 'Kurss') un 'vērtība' (satur atbilstošas vērtības no kolonnas 'Kurss').
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
python drukā līdz 2 zīmēm aiz komata
>
Izvade:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
2. piemērs: id_vars un value_vars izmantošana Pandas DataFrame melt()
Šajā piemērāpd.melt>Funkcija tiek izmantota, lai atdalītu kolonnas “Kurss” un “Vecums”, vienlaikus izmantojot “Nosaukums” kā identifikatora mainīgo.
Python3
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
Izvade:
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>
3. piemērs: var_nosaukums un vērtības_nosaukums Pandas DataFrame melt() izmantošanai
Šajā piemērāpd.melt>funkcija tiek izmantota ar pielāgotiem kolonnu nosaukumiem. Kolonna “Kurss” ir atvienota, saglabājot identifikatoru “Nosaukums”. Iegūtajā DataFrame ir kolonnas 'Nosaukums', 'ChangedVarname' (izkausētā kolonnas nosaukumam iestatiet uz 'Course') un 'ChangedValname' (satur atbilstošas vērtības no kolonnas 'Kurss').
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'>)> |
>
>
Izvade:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
4. piemērs: ignore_index izmantošana ar funkciju Pandas.melt()
Šajā piemērāpd.melt>Funkcija tiek lietota, lai atslēgtu kolonnas “Kurss” un “Vecums”, vienlaikus izmantojot “Nosaukums” kā identifikatora mainīgo. Sākotnējais indekss tiek ignorēts, joignore_index=True>parametrs.
Python3
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
konvertēt java objektu uz json
>
Izvade:
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>