import pandas as pd
from bs4 import BeautifulSoup as bs
import TOU_pricing
import numpy as np
#reload(TOU_pricing)
xml_file = 'raw_data/Inland_Single_Family_Jan_1_2011_to_Jan_1_2012_RetailCustomer_9.xml'
soup = bs(open(xml_file))
# initiate a numpy array to store values
data_array = np.zeros((len(soup.find_all('value')),1))
for i, intervalreading in enumerate(soup.find_all('intervalreading')):
data_array[i,0]=intervalreading.value.get_text()
data_start = '1/1/2011 08:00:00'
demand_data = pd.DataFrame(data_array*.001,columns=['USAGE'],index=pd.date_range(data_start, periods=len(soup.find_all('value')), freq='H'))
#demand_data.to_csv('raw_data/Green_Button_Sample_Inland_SingleFamily.csv')
demand_data[:2]
USAGE | |
---|---|
2011-01-01 08:00:00 | 1.002 |
2011-01-01 09:00:00 | 0.867 |
a = TOU_pricing.BGE_elec_cost(demand_data)
a[30:60]
USAGE | BGE-R_cost_perkWh | BGE-RL_cost_perkWh | BGE-EV_cost_perkWh | |
---|---|---|---|---|
2011-01-02 14:00:00 | 0.926 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 15:00:00 | 1.041 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 16:00:00 | 1.111 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 17:00:00 | 1.193 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 18:00:00 | 1.182 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 19:00:00 | 1.149 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 20:00:00 | 1.111 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 21:00:00 | 1.014 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 22:00:00 | 0.967 | 0.08616 | 0.06974 | 0.05209 |
2011-01-02 23:00:00 | 1.005 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 00:00:00 | 1.090 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 01:00:00 | 1.405 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 02:00:00 | 1.500 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 03:00:00 | 1.404 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 04:00:00 | 1.314 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 05:00:00 | 1.247 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 06:00:00 | 1.089 | 0.08616 | 0.06974 | 0.05209 |
2011-01-03 07:00:00 | 0.924 | 0.08616 | 0.11924 | 0.18266 |
2011-01-03 08:00:00 | 0.808 | 0.08616 | 0.11924 | 0.18266 |
2011-01-03 09:00:00 | 0.748 | 0.08616 | 0.11924 | 0.18266 |
2011-01-03 10:00:00 | 0.714 | 0.08616 | 0.11924 | 0.18266 |
2011-01-03 11:00:00 | 0.690 | 0.08616 | 0.08468 | 0.05209 |
2011-01-03 12:00:00 | 0.711 | 0.08616 | 0.08468 | 0.05209 |
2011-01-03 13:00:00 | 0.829 | 0.08616 | 0.08468 | 0.05209 |
2011-01-03 14:00:00 | 0.964 | 0.08616 | 0.08468 | 0.05209 |
2011-01-03 15:00:00 | 0.962 | 0.08616 | 0.08468 | 0.05209 |
2011-01-03 16:00:00 | 1.050 | 0.08616 | 0.08468 | 0.05209 |
2011-01-03 17:00:00 | 1.096 | 0.08616 | 0.11924 | 0.18266 |
2011-01-03 18:00:00 | 1.111 | 0.08616 | 0.11924 | 0.18266 |
2011-01-03 19:00:00 | 1.127 | 0.08616 | 0.11924 | 0.18266 |
trial = '2011-01-06'
print a[trial].index.weekday
a.ix[trial]
[3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3]
USAGE | BGE-R_cost_perkWh | BGE-RL_cost_perkWh | BGE-EV_cost_perkWh | |
---|---|---|---|---|
2011-01-06 00:00:00 | 0.906 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 01:00:00 | 1.311 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 02:00:00 | 1.429 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 03:00:00 | 1.383 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 04:00:00 | 1.360 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 05:00:00 | 1.161 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 06:00:00 | 1.025 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 07:00:00 | 0.821 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 08:00:00 | 0.705 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 09:00:00 | 0.652 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 10:00:00 | 0.651 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 11:00:00 | 0.650 | 0.08616 | 0.08468 | 0.05209 |
2011-01-06 12:00:00 | 0.699 | 0.08616 | 0.08468 | 0.05209 |
2011-01-06 13:00:00 | 0.906 | 0.08616 | 0.08468 | 0.05209 |
2011-01-06 14:00:00 | 1.036 | 0.08616 | 0.08468 | 0.05209 |
2011-01-06 15:00:00 | 1.051 | 0.08616 | 0.08468 | 0.05209 |
2011-01-06 16:00:00 | 0.992 | 0.08616 | 0.08468 | 0.05209 |
2011-01-06 17:00:00 | 0.917 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 18:00:00 | 0.893 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 19:00:00 | 0.900 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 20:00:00 | 0.885 | 0.08616 | 0.11924 | 0.18266 |
2011-01-06 21:00:00 | 0.832 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 22:00:00 | 0.809 | 0.08616 | 0.06974 | 0.05209 |
2011-01-06 23:00:00 | 0.834 | 0.08616 | 0.06974 | 0.05209 |