目的
「時刻コード30のコマ」より、具体的な時刻「14:30のコマ」のほうが圧倒的に分かりやすいので、表を整備したりグラフに可視化することを想定して、時刻コードを時刻表記に変換したい。
ゴール
以下のように、時刻コードをそれぞれ該当する時刻表記に変換したカラムをデータフレームに追加する。
1⇨0:00、2⇨0:30、3⇨1:00、………、46⇨22:30、47⇨23:00、48⇨23:30
実践
import pandas as pd
import datetime
from datetime import datetime as dt
from datetime import timedelta
JEPXのHPからダウンロードしたスポット価格データを読込み
# スポット市場価格データ読込み
spot = pd.read_csv("spot_summary_2023.csv", encoding="shift-jis")
display(spot)
48コマの時刻コードと時刻とを照合する辞書を作成
# 1~48の"時刻コード"リスト作成
code_list = list(range(1,49))
# 0:00~23:30の時刻リスト作成(2000年1月1日はダミー)
t = dt(2000,1,1,0,0)
end = dt(2000,1,2,0,0)
delta = datetime.timedelta(minutes=30)
time = []
while t < end:
time.append(t.strftime("%H:%M"))
t = t + delta
# 時刻コードと時刻とを対照する辞書を作成
time_dict = dict(zip(code_list, time))
print(time_dict)
# "時刻コード"カラムを時刻列に変換
spot["時刻"] = spot["時刻コード"].map(time_dict)
#
display(spot[["受渡日","時刻コード","時刻","エリアプライス東京(円/kWh)"]])