def load_building(self, root_directory, building_name): ''' Loads electrical data for specified building ''' # Each building has a week worth data # Files are named as follows: # Home 01_1min_2012-0903.xlsx to Home 01_1min_2012-0909.xlsx # Pattern building_name + "_1min_2012-09" + ['03'-'09'].xlsx building_folder = os.path.join(root_directory, '1_min', building_name) df = pd.DataFrame() for day in ["03", "04", "05", "06", "07", "08", "09"]: spreadsheet = pd.ExcelFile( os.path.join(building_folder, "%s_1min_2012-09%s.xlsx" % (building_name, day))) temp_df = spreadsheet.parse('Sheet1', index_col=0, date_parser=True) df = df.append(temp_df) df = self.standardize(df) # Create a new building building = Building() # Add mains building = self.add_mains(building, df) # Add appliances building = self.add_appliances(building, df) # Adding this building to dict of buildings building_name = building_name.replace(" ", "_") self.buildings[building_name] = building
def load_building(self, root_directory, building_name): # Construct new Building and set known attributes building = Building() # MIT's coorindates building.geographic_coordinates = (42.360091, -71.09416) # Load labels building_dir = os.path.join(root_directory, building_name) labels = load_labels(building_dir) # Load mains mains_chans = [chan for chan, label in labels.iteritems() if label == 'mains'] mains_chan_dict = {} for mains_chan in mains_chans: col_name = 'mains_{:d}_meter_1_active'.format(mains_chan) mains_chan_dict[col_name] = load_chan(building_dir, mains_chan) # Make a DataFrame containing all mains channels df = pd.DataFrame(mains_chan_dict) df = df.tz_localize('UTC') df = df.tz_convert('US/Eastern') # MIT is on the east coast! building.electric.mains = df # Load sub metered channels # TODO # Convert from REDD channel names to standardised names # Set up wiring self.buildings[building_name] = building
def __init__(self): super(AMPDS, self).__init__() self.urls = ['http://ampds.org/'] self.citations = [ 'Stephen Makonin, Fred Popowich, Lyn Bartram, ' 'Bob Gill, and Ivan V. Bajic,' 'AMPds: A Public Dataset for Load Disaggregation and' 'Eco-Feedback Research, in Electrical Power and Energy' 'Conference (EPEC), 2013 IEEE, pp. 1-6, 2013.' ] self.building = Building() self.buildings['Home_01'] = self.building self.nominal_voltage = 230
def load_building(self, root_directory, building_name): spreadsheet = pd.ExcelFile( os.path.join(root_directory, "15_min/Homes 01-10_15min_2012-0819-0825 .xlsx")) df = spreadsheet.parse(building_name, index_col=0, date_parser=True) df = self.standardize(df) # Create a new building building = Building() # Add mains building = self.add_mains(building, df) # Add appliances building = self.add_appliances(building, df) # Adding this building to dict of buildings building_name = building_name.replace(" ", "_") self.buildings[building_name] = building