gridstatus
gridstatus copied to clipboard
Add ERCOT Historical Load
- Fixes https://github.com/kmax12/gridstatus/issues/187
are you mixing up "load" and "load forecast" in this PR?
also, i think just hardcoding the ~20 odd urls is better than using beautiful soup to scrape. much easier to maintain
3 Days Ago
import gridstatus
import pandas as pd
ercot = gridstatus.Ercot()
default_timezone = "US/Central"
today = pd.Timestamp.now(tz=default_timezone).date()
three_days_ago = today - pd.Timedelta(days=3)
df = ercot.get_load(three_days_ago)
Time Interval Start Interval End Load
0 2023-04-11 00:00:00-05:00 2023-04-11 00:00:00-05:00 2023-04-11 01:00:00-05:00 37807.89
1 2023-04-11 01:00:00-05:00 2023-04-11 01:00:00-05:00 2023-04-11 02:00:00-05:00 36228.48
2 2023-04-11 02:00:00-05:00 2023-04-11 02:00:00-05:00 2023-04-11 03:00:00-05:00 35333.05
3 2023-04-11 03:00:00-05:00 2023-04-11 03:00:00-05:00 2023-04-11 04:00:00-05:00 34901.97
4 2023-04-11 04:00:00-05:00 2023-04-11 04:00:00-05:00 2023-04-11 05:00:00-05:00 35387.89
5 2023-04-11 05:00:00-05:00 2023-04-11 05:00:00-05:00 2023-04-11 06:00:00-05:00 37093.27
6 2023-04-11 06:00:00-05:00 2023-04-11 06:00:00-05:00 2023-04-11 07:00:00-05:00 39820.48
7 2023-04-11 07:00:00-05:00 2023-04-11 07:00:00-05:00 2023-04-11 08:00:00-05:00 41033.60
8 2023-04-11 08:00:00-05:00 2023-04-11 08:00:00-05:00 2023-04-11 09:00:00-05:00 41292.06
9 2023-04-11 09:00:00-05:00 2023-04-11 09:00:00-05:00 2023-04-11 10:00:00-05:00 41766.29
10 2023-04-11 10:00:00-05:00 2023-04-11 10:00:00-05:00 2023-04-11 11:00:00-05:00 42363.85
11 2023-04-11 11:00:00-05:00 2023-04-11 11:00:00-05:00 2023-04-11 12:00:00-05:00 42989.00
12 2023-04-11 12:00:00-05:00 2023-04-11 12:00:00-05:00 2023-04-11 13:00:00-05:00 43858.97
13 2023-04-11 13:00:00-05:00 2023-04-11 13:00:00-05:00 2023-04-11 14:00:00-05:00 44852.15
14 2023-04-11 14:00:00-05:00 2023-04-11 14:00:00-05:00 2023-04-11 15:00:00-05:00 45574.68
15 2023-04-11 15:00:00-05:00 2023-04-11 15:00:00-05:00 2023-04-11 16:00:00-05:00 46310.64
16 2023-04-11 16:00:00-05:00 2023-04-11 16:00:00-05:00 2023-04-11 17:00:00-05:00 47437.53
17 2023-04-11 17:00:00-05:00 2023-04-11 17:00:00-05:00 2023-04-11 18:00:00-05:00 47967.48
18 2023-04-11 18:00:00-05:00 2023-04-11 18:00:00-05:00 2023-04-11 19:00:00-05:00 47791.10
19 2023-04-11 19:00:00-05:00 2023-04-11 19:00:00-05:00 2023-04-11 20:00:00-05:00 47223.20
20 2023-04-11 20:00:00-05:00 2023-04-11 20:00:00-05:00 2023-04-11 21:00:00-05:00 47315.22
21 2023-04-11 21:00:00-05:00 2023-04-11 21:00:00-05:00 2023-04-11 22:00:00-05:00 46148.75
22 2023-04-11 22:00:00-05:00 2023-04-11 22:00:00-05:00 2023-04-11 23:00:00-05:00 43443.81
23 2023-04-11 23:00:00-05:00 2023-04-11 23:00:00-05:00 2023-04-12 00:00:00-05:00 40548.36
Specific Historical Date
import gridstatus
import pandas as pd
ercot = gridstatus.Ercot()
datetime = pd.Timestamp(2005, 1, 1).tz_localize("US/Central")
df = ercot.get_load(datetime)
Time Interval Start Interval End Load
0 2005-01-01 00:00:00.003000-06:00 2005-01-01 00:00:00.003000-06:00 2005-01-01 01:00:00.003000-06:00 23715.488663
1 2005-01-01 00:59:59.997000-06:00 2005-01-01 00:59:59.997000-06:00 2005-01-01 01:59:59.997000-06:00 22823.712923
2 2005-01-01 02:00:00-06:00 2005-01-01 02:00:00-06:00 2005-01-01 03:00:00-06:00 21882.924807
3 2005-01-01 03:00:00.003000-06:00 2005-01-01 03:00:00.003000-06:00 2005-01-01 04:00:00.003000-06:00 21229.184273
4 2005-01-01 03:59:59.997000-06:00 2005-01-01 03:59:59.997000-06:00 2005-01-01 04:59:59.997000-06:00 20940.912981
5 2005-01-01 05:00:00-06:00 2005-01-01 05:00:00-06:00 2005-01-01 06:00:00-06:00 20993.581538
6 2005-01-01 06:00:00.003000-06:00 2005-01-01 06:00:00.003000-06:00 2005-01-01 07:00:00.003000-06:00 21419.440432
7 2005-01-01 06:59:59.997000-06:00 2005-01-01 06:59:59.997000-06:00 2005-01-01 07:59:59.997000-06:00 21736.141618
8 2005-01-01 08:00:00-06:00 2005-01-01 08:00:00-06:00 2005-01-01 09:00:00-06:00 22333.858100
9 2005-01-01 09:00:00.003000-06:00 2005-01-01 09:00:00.003000-06:00 2005-01-01 10:00:00.003000-06:00 23730.170219
10 2005-01-01 09:59:59.997000-06:00 2005-01-01 09:59:59.997000-06:00 2005-01-01 10:59:59.997000-06:00 25096.510457
11 2005-01-01 11:00:00-06:00 2005-01-01 11:00:00-06:00 2005-01-01 12:00:00-06:00 26013.733199
12 2005-01-01 12:00:00.003000-06:00 2005-01-01 12:00:00.003000-06:00 2005-01-01 13:00:00.003000-06:00 26424.790673
13 2005-01-01 12:59:59.997000-06:00 2005-01-01 12:59:59.997000-06:00 2005-01-01 13:59:59.997000-06:00 26428.374452
14 2005-01-01 14:00:00-06:00 2005-01-01 14:00:00-06:00 2005-01-01 15:00:00-06:00 26217.727104
15 2005-01-01 15:00:00.003000-06:00 2005-01-01 15:00:00.003000-06:00 2005-01-01 16:00:00.003000-06:00 26057.562752
16 2005-01-01 15:59:59.997000-06:00 2005-01-01 15:59:59.997000-06:00 2005-01-01 16:59:59.997000-06:00 25997.352589
17 2005-01-01 17:00:00-06:00 2005-01-01 17:00:00-06:00 2005-01-01 18:00:00-06:00 26990.367724
18 2005-01-01 18:00:00.003000-06:00 2005-01-01 18:00:00.003000-06:00 2005-01-01 19:00:00.003000-06:00 28637.089643
19 2005-01-01 18:59:59.997000-06:00 2005-01-01 18:59:59.997000-06:00 2005-01-01 19:59:59.997000-06:00 28420.330687
20 2005-01-01 20:00:00-06:00 2005-01-01 20:00:00-06:00 2005-01-01 21:00:00-06:00 28099.391850
21 2005-01-01 21:00:00.003000-06:00 2005-01-01 21:00:00.003000-06:00 2005-01-01 22:00:00.003000-06:00 27215.927018
22 2005-01-01 21:59:59.997000-06:00 2005-01-01 21:59:59.997000-06:00 2005-01-01 22:59:59.997000-06:00 26149.984178
23 2005-01-01 23:00:00-06:00 2005-01-01 23:00:00-06:00 2005-01-02 00:00:00-06:00 24531.124390
Historical Start and End Date
import gridstatus
import pandas as pd
ercot = gridstatus.Ercot()
start_dt = pd.Timestamp(2005, 3, 1).tz_localize("US/Central")
end_dt = pd.Timestamp(2005, 4, 30).tz_localize("US/Central")
df = ercot.get_load(start_dt.date(), end=end_dt.date())
Time Interval Start Interval End Load
0 2005-03-01 00:00:00.003000-06:00 2005-03-01 00:00:00.003000-06:00 2005-03-01 01:00:00.003000-06:00 24490.051274
1 2005-03-01 00:59:59.997000-06:00 2005-03-01 00:59:59.997000-06:00 2005-03-01 01:59:59.997000-06:00 24108.925989
2 2005-03-01 02:00:00-06:00 2005-03-01 02:00:00-06:00 2005-03-01 03:00:00-06:00 24000.468123
3 2005-03-01 03:00:00.003000-06:00 2005-03-01 03:00:00.003000-06:00 2005-03-01 04:00:00.003000-06:00 24307.817046
4 2005-03-01 03:59:59.997000-06:00 2005-03-01 03:59:59.997000-06:00 2005-03-01 04:59:59.997000-06:00 25182.107938
... ... ... ... ...
1458 2005-04-30 18:59:59.997000-05:00 2005-04-30 18:59:59.997000-05:00 2005-04-30 19:59:59.997000-05:00 26868.286353
1459 2005-04-30 20:00:00-05:00 2005-04-30 20:00:00-05:00 2005-04-30 21:00:00-05:00 27917.457468
1460 2005-04-30 21:00:00.003000-05:00 2005-04-30 21:00:00.003000-05:00 2005-04-30 22:00:00.003000-05:00 27759.160948
1461 2005-04-30 21:59:59.997000-05:00 2005-04-30 21:59:59.997000-05:00 2005-04-30 22:59:59.997000-05:00 26336.542658
1462 2005-04-30 23:00:00-05:00 2005-04-30 23:00:00-05:00 2005-05-01 00:00:00-05:00 24468.255670
[1463 rows x 4 columns]