はじめに
前回、こんな感じのエクセルデータから
今回は、月ごとに生成された複数のDataFrameを一つのDataFrameまで結合します。
使用データ
前回参照
1行に整形する
まずは、df.stack()をpandas.DataFrameにかけます。
df.stack()にかけるとマルチインデックスのpandas.Seriesになります。
ここにreset_indexをかけることで、DataFrameを1行にのばすことが出来ます。
df_201710 = df.stack().reset_index(name="201710")
# インデックス名にlevel_1,level_2を結合して使用
ind = se["level_0"] + "_" + se["level_1"]
df_201710.drop(["level_0","level_1"],axis=1,inplace=True)
df_201710.index = ind
結合
最後に結合してデータの整形は完了です。
trip = pd.concat([df_201810,df_201807,df_201804,df_201801,df_201710,df_201707,df_201704,df_201701],axis=1).T
gitにソース上がってます。