La fusión de un dataframe pandas

Tengo un dataframe como este

NSW VIC 0 6718023 5023203 1 6735528 5048207 2 6742690 5061266 3 6766133 5083593 4 6786160 5103965 

Quiero cambiarlo asi

 0 6718023 NSW 1 6735528 NSW 2 6742690 NSW 3 6766133 NSW 4 6786160 NSW 5 5023203 VIC 6 5048207 VIC 7 5061266 VIC 8 5083593 VIC 9 5103965 VIC 

¿Cómo puedo terminar este trabajo?

Utilizando melt

  pd.melt(df) Out[318]: variable value 0 NSW 6718023 1 NSW 6735528 2 NSW 6742690 3 NSW 6766133 4 NSW 6786160 5 VIC 5023203 6 VIC 5048207 7 VIC 5061266 8 VIC 5083593 9 VIC 5103965 
 df.stack().reset_index(level=0, drop=True).sort_index() 

Salida:

 NSW 6718023 NSW 6735528 NSW 6742690 NSW 6766133 NSW 6786160 VIC 5023203 VIC 5048207 VIC 5061266 VIC 5083593 VIC 5103965 dtype: int64 

Usando df.unstack

 df = df.unstack().to_frame().reset_index(level=0).iloc[:, [-1, 0]] df.columns = [0, 1] # or whatever else you please df 0 1 0 6718023 NSW 1 6735528 NSW 2 6742690 NSW 3 6766133 NSW 4 6786160 NSW 0 5023203 VIC 1 5048207 VIC 2 5061266 VIC 3 5083593 VIC 4 5103965 VIC 

FOMO

 pd.DataFrame(dict( value=df.values.ravel(order='F'), variable=df.columns.repeat(len(df)) )) value variable 0 6718023 NSW 1 6735528 NSW 2 6742690 NSW 3 6766133 NSW 4 6786160 NSW 5 5023203 VIC 6 5048207 VIC 7 5061266 VIC 8 5083593 VIC 9 5103965 VIC