logo

Pandas melt()

Funkcija Pandas.melt() naudojama atsukti DataFrame iš plataus formato į ilgą formatą.

Jo pagrindinė užduotis yra įmasažuoti DataFrame į formatą, kuriame kai kurie stulpeliai yra identifikatoriaus kintamieji, o likę stulpeliai laikomi išmatuotais kintamaisiais ir yra nepasukami į eilutės ašį. Tai palieka tik du neidentifikuojančius stulpelius – kintamąjį ir vertę.

Sintaksė

 pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None) 

Parametrai

    rėmelis:Tai nurodo DataFrame.id_vars [tuple, sąrašas arba ndarray, neprivaloma]:Tai nurodo stulpelius, kurie naudojami kaip identifikatoriaus kintamieji.value_vars[tuple, sąrašas arba ndarray, neprivaloma]:Nurodo stulpelius, kuriuos reikia atšaukti. Jei nenurodyta, naudokite visus stulpelius, kurie nenustatyti kaip id_vars.var_name[skaliarinis]:Nurodo stulpelio „kintamasis“ pavadinimą. Jei nėra, jis naudoja frame.columns.name arba 'kintamasis'.vertės_pavadinimas[skaliarinis, numatytoji vertė]:Nurodo pavadinimą, kuris naudojamas stulpelyje „vertė“.col_level[int arba eilutė, neprivaloma]: jis naudos šį lygį, kad ištirptų, jei stulpeliai yra MultiIndex.

Grąžina

Jis kaip išvestį grąžina nesusuktą duomenų rėmelį.

Pavyzdys

 # importing pandas as pd import pandas as pd # creating a dataframe info = pd.DataFrame({'Name': {0: 'Parker', 1: 'Smith', 2: 'John'}, 'Language': {0: 'Python', 1: 'Java', 2: 'C++'}, 'Age': {0: 22, 1: 30, 2: 26}}) # Name is id_vars and Course is value_vars pd.melt(info, id_vars =['Name'], value_vars =['Language']) info 

Išvestis

 Name Language Age 0 Parker Python 22 1 Smith Java 30 2 John C++ 26 

2 pavyzdys

 import pandas as pd info = pd.DataFrame({'A': {0: 'p', 1: 'q', 2: 'r'}, 'B': {0: 40, 1: 55, 2: 25}, 'C': {0: 56, 1: 62, 2: 42}}) pd.melt(info, id_vars=['A'], value_vars=['C']) pd.melt(info, id_vars=['A'], value_vars=['B', 'C']) pd.melt(info, id_vars=['A'], value_vars=['C'], var_name='myVarname', value_name='myValname') 

Išvestis

 A myVarname myValname 0 p C 56 1 q C 62 2 r C 42