1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】JEPXスポット市場価格データの《時刻コード:1~48》を《時刻表記:0:00~23:30》に変換する

Last updated at Posted at 2023-06-08

目的

「時刻コード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)

スクリーンショット 2023-06-08 19.20.36.png

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)

図1.jpg

# "時刻コード"カラムを時刻列に変換
spot["時刻"] = spot["時刻コード"].map(time_dict)

# 
display(spot[["受渡日","時刻コード","時刻","エリアプライス東京(円/kWh)"]])

スクリーンショット 2023-06-08 19.42.57.png
変換された!

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?