import numpy as np
import pandas as pd
from pandas import Series, DataFrame
# このセルの内容は、理解できなくても大丈夫です。
# ただサンプルになるデータを作りたいだけですので、出来たデータをどのような加工するかに注目してください。
import pandas.util.testing as tm
tm.N = 3
# ちょっとした関数を作ります。
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'])
# DataFrameを作ります。
dframe = unpivot(tm.makeTimeDataFrame())
# 入れ子に重なったデータができます。
dframe
# 行にdate, 列にvariable、これをvalueで埋めます。
dframe_piv = dframe.pivot('date','variable','value')
dframe_piv
# どのようなピボットテーブルを作るかは、どのよなデータが欲しいかによります。