# pivot で ロングフォーマットからワイドフォーマットに変換 waterlevel_df_wide = waterlevel_df.pivot(index=['date','station', 'river'], columns='hour' , values=['value']) # 行の MultiIndex をフラット化 waterlevel_df_wide.columns = waterlevel_df_wide.columns.to_flat_index() # 列の MultiIndex をフラット化 waterlevel_df_wide = waterlevel_df_wide.reset_index() # 列名 再設定 waterlevel_df_wide.columns = ['date', 'station', 'river'] + ['w' + str(i) for i in range(24)]