In [1]:
import pandas as pd
import nilmtk
from nilmtk import *


Vendor:  Continuum Analytics, Inc.
Package: mkl
Message: trial mode EXPIRED 2 days ago

    Your usage of mkl is now out of compliance with the license agreement.
    A license for mkl can be purchased at: http://continuum.io
    

In [7]:
ds = DataSet("/Users/nipunbatra/Downloads/wikienergy-2.h5")


/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 119 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 151 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 17 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 196 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 30 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 48 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 59 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 62 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 65 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 7 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)
/Users/nipunbatra/git/nilmtk/nilmtk/metergroup.py:76: RuntimeWarning: Building 95 has an empty 'appliances' list.
  .format(building_id.instance), RuntimeWarning)

In [8]:
elec = ds.buildings[10].elec

In [9]:
elec


Out[9]:
MeterGroup(meters=
  ElecMeter(instance=1, building=10, dataset='WikiEnergy', site_meter, appliances=[])
  ElecMeter(instance=2, building=10, dataset='WikiEnergy', appliances=[Appliance(type='air conditioner', instance=1)])
  ElecMeter(instance=3, building=10, dataset='WikiEnergy', appliances=[Appliance(type='sockets', instance=1)])
  ElecMeter(instance=4, building=10, dataset='WikiEnergy', appliances=[Appliance(type='spin dryer', instance=1)])
  ElecMeter(instance=5, building=10, dataset='WikiEnergy', appliances=[Appliance(type='electric furnace', instance=1)])
  ElecMeter(instance=6, building=10, dataset='WikiEnergy', appliances=[Appliance(type='sockets', instance=2)])
  ElecMeter(instance=7, building=10, dataset='WikiEnergy', appliances=[Appliance(type='fridge', instance=1)])
)

In [10]:
df = elec.dataframe_of_meters()

In [11]:
df.head()


Out[11]:
(1, 10, WikiEnergy) (2, 10, WikiEnergy) (3, 10, WikiEnergy) (4, 10, WikiEnergy) (5, 10, WikiEnergy) (6, 10, WikiEnergy) (7, 10, WikiEnergy)
localminute
2014-01-01 00:00:00-06:00 197 0 0 0 4 18 3
2014-01-01 00:01:00-06:00 199 0 0 0 4 18 3
2014-01-01 00:02:00-06:00 112 0 0 0 4 18 3
2014-01-01 00:03:00-06:00 104 0 0 0 4 18 3
2014-01-01 00:04:00-06:00 104 0 0 0 4 18 3

In [12]:
%matplotlib inline

In [13]:
df.plot()


Out[13]:
<matplotlib.axes._subplots.AxesSubplot at 0x11366f510>

In [15]:
import numpy as np
import pandas as pd

In [16]:
array1 = np.array([1,2,3])
array2 = np.array(['a','b','c'])
array3 = np.array([1.01,2.02,3.03])
df = pd.DataFrame({1:array1, 2:array2,3:array3}, index=('array1','array2','array3'))

In [17]:
df


Out[17]:
1 2 3
array1 1 a 1.01
array2 2 b 2.02
array3 3 c 3.03

In [20]:
import scipy.io as sio

In [21]:
sio.savemat('/Users/nipunbatra/Desktop/abc.mat', {'struct':df.to_dict()})

In [ ]:
scipy.io.