In [1]:
import numpy as np
import pandas as pd
from pandas import DataFrame, Series
In [2]:
import pandas.util.testing as tm
tm.N = 3
In [5]:
def unpivot(frame):
N, K = frame.shape
data = {'value': frame.values.ravel('F'),
'variable': np.asarray(frame.columns).repeat(N),
'date': np.tile(np.asarray(frame.index), K)}
return DataFrame(data, columns=['date', 'variable', 'value'])
In [6]:
dframe = unpivot(tm.makeTimeDataFrame())
In [7]:
dframe
Out[7]:
In [8]:
dframe_piv = dframe.pivot('date', 'variable', 'value')
dframe_piv
Out[8]:
In [ ]: