Per rendere più semplice l'analisi dei dati in una tabella, possiamo rimodellare i dati in una forma più adatta al computer utilizzando Pandas in Python. Pandas.melt() è una delle funzioni per farlo. Pandas.melt() sposta un DataFrame dal formato ampio al formato lungo.
Jasmine Davis da bambina
I panda si sciolgono() La funzione è utile per massaggiare un DataFrame in un formato in cui una o più colonne sono variabili identificative, mentre tutte le altre colonne, considerate variabili misurate, non sono ruotate sull'asse della riga, lasciando solo due colonne non identificative, variabile e valore.
Sintassi della funzione Python Pandas.melt()
Sintassi: pandas.melt(frame, id_vars=Nessuno, value_vars=Nessuno,
var_name=Nessuno, value_name='valore', col_level=Nessuno)
parametri:
- telaio : DataFrame
- id_vars[tuple, list o ndarray, opzionale] : Colonne da utilizzare come variabili identificative.
- value_vars[tuple, list o ndarray, opzionale]: Colonne da annullare. Se non specificato, utilizza tutte le colonne che non sono impostate come id_vars.
- nome_var[scalare]: Nome da utilizzare per la colonna 'variabile'. Se Nessuno utilizza frame.columns.name o 'variabile'.
- nome_valore[scalare, 'valore' predefinito]: Nome da utilizzare per la colonna 'valore'.
- col_level[int o stringa, opzionale]: Se le colonne sono un MultiIndice, utilizza questo livello per scioglierle.
Creazione di un DataFrame di esempio
Qui, abbiamo creato un DataFrame di esempio che utilizzeremo in questo articolo.
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> |
>
>

melt () fai nell'esempio di Panda
Di seguito è riportato l'esempio di come possiamo utilizzare la funzione Pandas melt() in diversi modi Panda :
Esempio 1: Esempio di fusione dei panda()
In questo esempio, ilpd.melt>La funzione viene utilizzata per annullare il pivot della colonna 'Corso' mantenendo 'Nome' come variabile identificativo. Il DataFrame risultante ha tre colonne: 'Nome', 'variabile' (contenente il nome della colonna 'Corso') e 'valore' (contenente i valori corrispondenti dalla colonna 'Corso').
Python3
# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])> |
>
come inizializzare un array in Java
>
Produzione:
Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Esempio 2: utilizzo di id_vars e value_vars per melt() di un Pandas DataFrame
In questo esempio, ilpd.melt>La funzione viene utilizzata per sbloccare le colonne 'Corso' ed 'Età' mentre si utilizza 'Nome' come variabile identificatore.
Python3
# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])> |
>
>
Produzione:
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>
Esempio 3: utilizzo di var_name e value_name per melt() di un Pandas DataFrame
In questo esempio, ilpd.melt>la funzione viene utilizzata con nomi di colonna personalizzati. La colonna 'Corso' non viene modificata mantenendo il 'Nome' come identificatore. Il DataFrame risultante ha le colonne 'Name', 'ChangedVarname' (per il nome della colonna fusa, impostato su 'Course') e 'ChangedValname' (contenente i valori corrispondenti dalla colonna 'Course').
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'>)> |
>
>
Produzione:
Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>
Esempio 4: utilizzo di ignore_index con la funzione Pandas.melt()
In questo esempio, ilpd.melt>viene applicata per annullare il pivot delle colonne 'Corso' ed 'Età' mentre si utilizza 'Nome' come variabile identificativo. L'indice originale viene ignorato a causa del fileignore_index=True>parametro.
Python3
# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)> |
>
algoritmo di ordinamento rapido
>
Produzione:
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>