Hiervoor wordt de functie Pandas.melt() gebruikt ongedaan maken het DataFrame van een breed formaat naar een lang formaat.
De belangrijkste taak ervan is om een DataFrame in een formaat te masseren waarbij sommige kolommen identificatievariabelen zijn en de overige kolommen worden beschouwd als gemeten variabelen en niet meer naar de rij-as zijn gedraaid. Er blijven slechts twee niet-identificatorkolommen over: variabele en waarde.
Syntaxis
pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
Parameters
Geeft terug
Het retourneert het niet-gedraaide DataFrame als uitvoer.
Voorbeeld
# 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
Uitvoer
Name Language Age 0 Parker Python 22 1 Smith Java 30 2 John C++ 26
Voorbeeld2
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')
Uitvoer
A myVarname myValname 0 p C 56 1 q C 62 2 r C 42