i panda si sciolgono()

Viene utilizzata la funzione Pandas.melt() non ruotare il DataFrame da un formato ampio a un formato lungo.

Il suo compito principale è quello di massaggiare un DataFrame in un formato in cui alcune colonne sono variabili identificatori e le restanti colonne sono considerate variabili misurate e non sono ruotate rispetto all'asse della riga. Lascia solo due colonne non identificative, variabile e valore.

Sintassi

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

Parametri

    telaio: Si riferisce al DataFrame. id_vars[tuple, list o ndarray, opzionale]: Si riferisce alle colonne da utilizzare come variabili identificative. value_vars[tuple, list o ndarray, opzionale]: Si riferisce alle colonne da annullare. Se non è specificato, utilizza tutte le colonne che non sono impostate come id_vars. nome_var[scalare]: Si riferisce a un nome da utilizzare per la colonna 'variabile'. Se è None, utilizza frame.columns.name o 'variabile'. nome_valore[scalare, 'valore' predefinito]: Si riferisce a un nome da utilizzare per la colonna 'valore'. col_level[int o string, opzionale]: utilizzerà questo livello per fondersi se le colonne sono MultiIndex.

ritorna

Restituisce il DataFrame senza pivot come output.

Esempio

 # 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  

Produzione

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

Esempio2

 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')  

Produzione

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