Opuesto a derretirse en pandas python.

No puedo encontrar la manera de “derretir en reversa” utilizando Pandas en python. Estos son mis datos iniciales.

import pandas as pd from StringIO import StringIO origin = pd.read_table(StringIO('''label type value xa 1 xb 2 xc 3 ya 4 yb 5 yc 6 za 7 zb 8 zc 9''')) origin Out[5]: label type value 0 xa 1 1 xb 2 2 xc 3 3 ya 4 4 yb 5 5 yc 6 6 za 7 7 zb 8 8 zc 9 

Esta es la salida que me gustaría tener:

  label abc x 1 2 3 y 4 5 6 z 7 8 9 

Estoy seguro de que hay una manera fácil de hacer esto, pero no sé cómo.

Hay algunas maneras;
utilizando .pivot :

 >>> origin.pivot(index='label', columns='type')['value'] type abc label x 1 2 3 y 4 5 6 z 7 8 9 [3 rows x 3 columns] 

utilizando pivot_table :

 >>> origin.pivot_table(values='value', index='label', columns='type') value type abc label x 1 2 3 y 4 5 6 z 7 8 9 [3 rows x 3 columns] 

o .groupby seguido de .unstack :

 >>> origin.groupby(['label', 'type'])['value'].aggregate('mean').unstack() type abc label x 1 2 3 y 4 5 6 z 7 8 9 [3 rows x 3 columns]