This page was generated from docs/tutorials/Demo-solution.ipynb. Interactive online version: Binder badge Slideshow: Binder badge

A real-world demo of data analysis

topics covered:

  1. import data with correct data types
  2. merge/combine DataFrames for easier analysis
    • how to read/understand technical manuals? differences between manual and tutorial
    • utilise examples
  3. get ensembles using GroupBy-related functions
  4. understand the “notorious” matplotlib-based plotting: http://pbpython.com/effective-matplotlib.html
  5. plotting like a pro using seaborn
    • understand the desirable data format for using seaborn
    • some useful plot types
    • beautify your plots

practical part

[1]:
from pathlib import Path
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
[2]:
path_data_dir=Path('../data')
[3]:
list(path_data_dir.glob('*csv'))
[3]:
[PosixPath('../data/WP_stable_rawdata.csv'),
 PosixPath('../data/EC_rawdata.csv'),
 PosixPath('../data/UoR_Data_EC.csv'),
 PosixPath('../data/PM_rawdata.csv'),
 PosixPath('../data/UoR_Data_5min.csv'),
 PosixPath('../data/WP_unstable_rawdata.csv')]
[4]:
path_data_5min=path_data_dir/'UoR_Data_5min.csv'
path_data_EC=path_data_dir/'UoR_Data_EC.csv'
[5]:
list_dates= pd.date_range('2018 09 01','2018 10 01')
list_start=list_dates[:-1]
list_end=list_dates[1:]
[6]:
url_data_5min_template = (
    'https://metdata.reading.ac.uk/ext/dataset/'
    '5min_Level2/get_data'
    '?token=3bab029493'
    '&start_date={start:%Y-%m-%d-%H:%M:%S%z}'
    '&end_date={end:%Y-%m-%d-%H:%M:%S%z}'
    '&var=TSoil100&var=TSoil10&var=TSoil20&var=TSoil30&var=TSoil50&var=TSoil5&var=Tsoil&var=Tconc&var=Tdew_der&var=VP_der&var=Twet_der&var=Td&var=Tgrass&var=Tw&var=RH&var=U10max_der&var=U10run_der&var=Dirn10&var=U10&var=U2run_der&var=U5max_der&var=U5run_der&var=Dirn5&var=U5&var=Sdur&var=Sg_accum_der&var=Sdur_accum_der&var=CNR4T&var=Sd&var=Sb&var=Sg&var=G&var=Ldw&var=Ldw(uc)&var=Luw&var=Luw(uc)&var=Rn&var=Sb(csd3)&var=Sdw&var=Suw&var=Pmsl&var=P&var=Rain&var=Rain_accum_der'
    '&missing=NaN&data_format=csv')
list_url_data_5min=[url_data_5min_template.format(start=start,end=end) for start, end in zip(list_start,list_end)]
[7]:
rawdata_5min=pd.concat([pd.read_csv(url,header=[0, 1]) for url in list_url_data_5min])
[8]:
data_5min=rawdata_5min.set_index(('TimeStamp','timestamp'))
[9]:
data_5min.head()
[9]:
TSoil100 TSoil10 TSoil20 TSoil30 TSoil50 TSoil5 Tsoil Tconc Tdew_der VP_der ... Luw Luw(uc) Rn Sb(csd3) Sdw Suw Pmsl P Rain Rain_accum_der
degC degC degC degC degC degC degC degC degC hPa ... W/m^2 W/m^2 W/m^2 W/m^2 W/m^2 W/m^2 hPa hPa mm mm
(TimeStamp, timestamp)
2018-09-01 00:05:00 16.95 17.44 17.56 17.50 16.83 16.99 10.51 13.43 10.21 12.45 ... 347.26 -13.28 -37.87 -4.8 -0.84 2.10 1024.69 1016.61 0.0 0.0
2018-09-01 00:10:00 16.96 17.42 17.56 17.51 16.83 16.96 10.65 13.54 10.14 12.40 ... 346.82 -13.61 -35.03 -4.7 -2.27 2.26 1024.64 1016.55 0.0 0.0
2018-09-01 00:15:00 16.96 17.39 17.55 17.50 16.84 16.93 10.52 13.38 9.94 12.24 ... 346.18 -13.35 -36.05 -4.7 -2.03 1.30 1024.61 1016.51 0.0 0.0
2018-09-01 00:20:00 16.95 17.37 17.54 17.51 16.84 16.89 10.30 13.08 10.40 12.61 ... 346.56 -13.80 -35.92 -4.9 -0.40 3.46 1024.57 1016.48 0.0 0.0
2018-09-01 00:25:00 16.95 17.35 17.53 17.50 16.84 16.86 10.36 13.12 10.18 12.43 ... 346.42 -13.76 -41.32 -4.7 -1.73 1.22 1024.55 1016.45 0.0 0.0

5 rows × 44 columns

[10]:
url_data_EC_template = (
    'https://metdata.reading.ac.uk/ext/dataset/'
    'eddy_cov/get_data'
    '?token=3bab029493'
    '&start_date={start:%Y-%m-%d-%H:%M:%S%z}'
    '&end_date={end:%Y-%m-%d-%H:%M:%S%z}'
    '&var=WS&var=dir&var=L&var=zL&var=C_CO2&var=cov_uv&var=cov_uw&var=cov_vw&var=ustar&var=Tsonic&var=nSamples&var=q&var=sd_C_CO2&var=sd_Tsonic&var=sd_q&var=sd_u&var=sd_v&var=sd_w&var=F_CO2&var=Q_E&var=Q_H&'
    '&missing=NaN&data_format=csv')
list_url_data_EC=[url_data_EC_template.format(start=start,end=end) for start, end in zip(list_start,list_end)]
[ ]:

[22]:
rawdata_EC.head()
[22]:
TimeStamp WS dir L zL C_CO2 cov_uv cov_uw cov_vw ustar ... q sd_C_CO2 sd_Tsonic sd_q sd_u sd_v sd_w F_CO2 Q_E Q_H
0 timestamp m.s-1 degree m dimensionless mmol.m-3 m2.s-2 m2.s-2 m2.s-2 m.s-1 ... kg.kg-1 mmol.m-3 Celsius kg.kg-1 m.s-1 m.s-1 m-2/3 umol.m-2.s-1 W.m-2 W.m-2
1 2018-09-01 00:30:00 0.195 202.3 4.584 0.63269 NaN 0.0171 0.00236 0.0002 0.0487 ... NaN NaN 0.346 NaN 0.227 0.1765 0.0505 NaN NaN -4.236
2 2018-09-01 01:00:00 0.1427 155.7 -10.262 -0.28259 NaN -0.018 0.00297 0.000366 0.0547 ... NaN NaN 0.376 NaN 0.176 0.2768 0.0419 NaN NaN 2.717
3 2018-09-01 01:30:00 0.1527 264.8 0.834 3.47569 0.000671 -0.00245 0.000465 -2.65e-06 0.0216 ... NaN 1.16e-05 0.309 NaN 0.129 0.1478 0.0237 0.2776 NaN -1.995
4 2018-09-01 02:00:00 0.1191 155.8 -20.08 -0.14442 0.000701 -0.00874 -0.00655 -0.00253 0.0838 ... NaN 1.51e-05 0.256 NaN 0.334 0.2337 0.0492 -9.6545 NaN 4.82

5 rows × 22 columns

[11]:
rawdata_EC=pd.concat([pd.read_csv(url) for url in list_url_data_EC])
[12]:
data_EC=rawdata_EC.drop_duplicates().T.set_index(0,append=True).T.set_index(('TimeStamp','timestamp'))
[13]:
data_5min.index=data_5min.index.astype(np.datetime64)
[14]:
data_30min=data_5min.resample('30T').mean()
[15]:
data_EC.index=data_EC.index.astype(np.datetime64)
[16]:
data_ana=pd.concat([data_30min,data_EC],axis=1)
[17]:
data_ana.loc[:,['Rn','Q_H','Q_E','G']].plot()
[17]:
<matplotlib.axes._subplots.AxesSubplot at 0x115b91f98>
../_images/tutorials_Demo-solution_21_1.png
[18]:
data_ana.columns.levels[0]
[18]:
Index(['CNR4T', 'C_CO2', 'Dirn10', 'Dirn5', 'F_CO2', 'G', 'L', 'Ldw',
       'Ldw(uc)', 'Luw', 'Luw(uc)', 'P', 'Pmsl', 'Q_E', 'Q_H', 'RH', 'Rain',
       'Rain_accum_der', 'Rn', 'Sb', 'Sb(csd3)', 'Sd', 'Sdur',
       'Sdur_accum_der', 'Sdw', 'Sg', 'Sg_accum_der', 'Suw', 'TSoil10',
       'TSoil100', 'TSoil20', 'TSoil30', 'TSoil5', 'TSoil50', 'Tconc', 'Td',
       'Tdew_der', 'Tgrass', 'Tsoil', 'Tsonic', 'Tw', 'Twet_der', 'U10',
       'U10max_der', 'U10run_der', 'U2run_der', 'U5', 'U5max_der', 'U5run_der',
       'VP_der', 'WS', 'cov_uv', 'cov_uw', 'cov_vw', 'dir', 'nSamples', 'q',
       'sd_C_CO2', 'sd_Tsonic', 'sd_q', 'sd_u', 'sd_v', 'sd_w', 'ustar', 'zL'],
      dtype='object')
[23]:
# data_ana.Q_H.values

data_ana.Q_H.astype(float).plot()
[23]:
<matplotlib.axes._subplots.AxesSubplot at 0x11858c8d0>
../_images/tutorials_Demo-solution_23_1.png
[24]:
data_ana.loc[:,['Rn','Q_H','Q_E','G']].astype(float).plot()
[24]:
<matplotlib.axes._subplots.AxesSubplot at 0x1187b2b38>
../_images/tutorials_Demo-solution_24_1.png
[29]:
data_ana.index
[29]:
DatetimeIndex(['2018-09-01 00:00:00', '2018-09-01 00:30:00',
               '2018-09-01 01:00:00', '2018-09-01 01:30:00',
               '2018-09-01 02:00:00', '2018-09-01 02:30:00',
               '2018-09-01 03:00:00', '2018-09-01 03:30:00',
               '2018-09-01 04:00:00', '2018-09-01 04:30:00',
               ...
               '2018-09-30 19:30:00', '2018-09-30 20:00:00',
               '2018-09-30 20:30:00', '2018-09-30 21:00:00',
               '2018-09-30 21:30:00', '2018-09-30 22:00:00',
               '2018-09-30 22:30:00', '2018-09-30 23:00:00',
               '2018-09-30 23:30:00', '2018-10-01 00:00:00'],
              dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), length=1441, freq='30T')
[28]:
grp_hr_min.groups
[28]:
{(0, 0): DatetimeIndex(['2018-09-01', '2018-09-02', '2018-09-03', '2018-09-04',
                '2018-09-05', '2018-09-06', '2018-09-07', '2018-09-08',
                '2018-09-09', '2018-09-10', '2018-09-11', '2018-09-12',
                '2018-09-13', '2018-09-14', '2018-09-15', '2018-09-16',
                '2018-09-17', '2018-09-18', '2018-09-19', '2018-09-20',
                '2018-09-21', '2018-09-22', '2018-09-23', '2018-09-24',
                '2018-09-25', '2018-09-26', '2018-09-27', '2018-09-28',
                '2018-09-29', '2018-09-30', '2018-10-01'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (0, 30): DatetimeIndex(['2018-09-01 00:30:00', '2018-09-02 00:30:00',
                '2018-09-03 00:30:00', '2018-09-04 00:30:00',
                '2018-09-05 00:30:00', '2018-09-06 00:30:00',
                '2018-09-07 00:30:00', '2018-09-08 00:30:00',
                '2018-09-09 00:30:00', '2018-09-10 00:30:00',
                '2018-09-11 00:30:00', '2018-09-12 00:30:00',
                '2018-09-13 00:30:00', '2018-09-14 00:30:00',
                '2018-09-15 00:30:00', '2018-09-16 00:30:00',
                '2018-09-17 00:30:00', '2018-09-18 00:30:00',
                '2018-09-19 00:30:00', '2018-09-20 00:30:00',
                '2018-09-21 00:30:00', '2018-09-22 00:30:00',
                '2018-09-23 00:30:00', '2018-09-24 00:30:00',
                '2018-09-25 00:30:00', '2018-09-26 00:30:00',
                '2018-09-27 00:30:00', '2018-09-28 00:30:00',
                '2018-09-29 00:30:00', '2018-09-30 00:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (1, 0): DatetimeIndex(['2018-09-01 01:00:00', '2018-09-02 01:00:00',
                '2018-09-03 01:00:00', '2018-09-04 01:00:00',
                '2018-09-05 01:00:00', '2018-09-06 01:00:00',
                '2018-09-07 01:00:00', '2018-09-08 01:00:00',
                '2018-09-09 01:00:00', '2018-09-10 01:00:00',
                '2018-09-11 01:00:00', '2018-09-12 01:00:00',
                '2018-09-13 01:00:00', '2018-09-14 01:00:00',
                '2018-09-15 01:00:00', '2018-09-16 01:00:00',
                '2018-09-17 01:00:00', '2018-09-18 01:00:00',
                '2018-09-19 01:00:00', '2018-09-20 01:00:00',
                '2018-09-21 01:00:00', '2018-09-22 01:00:00',
                '2018-09-23 01:00:00', '2018-09-24 01:00:00',
                '2018-09-25 01:00:00', '2018-09-26 01:00:00',
                '2018-09-27 01:00:00', '2018-09-28 01:00:00',
                '2018-09-29 01:00:00', '2018-09-30 01:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (1, 30): DatetimeIndex(['2018-09-01 01:30:00', '2018-09-02 01:30:00',
                '2018-09-03 01:30:00', '2018-09-04 01:30:00',
                '2018-09-05 01:30:00', '2018-09-06 01:30:00',
                '2018-09-07 01:30:00', '2018-09-08 01:30:00',
                '2018-09-09 01:30:00', '2018-09-10 01:30:00',
                '2018-09-11 01:30:00', '2018-09-12 01:30:00',
                '2018-09-13 01:30:00', '2018-09-14 01:30:00',
                '2018-09-15 01:30:00', '2018-09-16 01:30:00',
                '2018-09-17 01:30:00', '2018-09-18 01:30:00',
                '2018-09-19 01:30:00', '2018-09-20 01:30:00',
                '2018-09-21 01:30:00', '2018-09-22 01:30:00',
                '2018-09-23 01:30:00', '2018-09-24 01:30:00',
                '2018-09-25 01:30:00', '2018-09-26 01:30:00',
                '2018-09-27 01:30:00', '2018-09-28 01:30:00',
                '2018-09-29 01:30:00', '2018-09-30 01:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (2, 0): DatetimeIndex(['2018-09-01 02:00:00', '2018-09-02 02:00:00',
                '2018-09-03 02:00:00', '2018-09-04 02:00:00',
                '2018-09-05 02:00:00', '2018-09-06 02:00:00',
                '2018-09-07 02:00:00', '2018-09-08 02:00:00',
                '2018-09-09 02:00:00', '2018-09-10 02:00:00',
                '2018-09-11 02:00:00', '2018-09-12 02:00:00',
                '2018-09-13 02:00:00', '2018-09-14 02:00:00',
                '2018-09-15 02:00:00', '2018-09-16 02:00:00',
                '2018-09-17 02:00:00', '2018-09-18 02:00:00',
                '2018-09-19 02:00:00', '2018-09-20 02:00:00',
                '2018-09-21 02:00:00', '2018-09-22 02:00:00',
                '2018-09-23 02:00:00', '2018-09-24 02:00:00',
                '2018-09-25 02:00:00', '2018-09-26 02:00:00',
                '2018-09-27 02:00:00', '2018-09-28 02:00:00',
                '2018-09-29 02:00:00', '2018-09-30 02:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (2, 30): DatetimeIndex(['2018-09-01 02:30:00', '2018-09-02 02:30:00',
                '2018-09-03 02:30:00', '2018-09-04 02:30:00',
                '2018-09-05 02:30:00', '2018-09-06 02:30:00',
                '2018-09-07 02:30:00', '2018-09-08 02:30:00',
                '2018-09-09 02:30:00', '2018-09-10 02:30:00',
                '2018-09-11 02:30:00', '2018-09-12 02:30:00',
                '2018-09-13 02:30:00', '2018-09-14 02:30:00',
                '2018-09-15 02:30:00', '2018-09-16 02:30:00',
                '2018-09-17 02:30:00', '2018-09-18 02:30:00',
                '2018-09-19 02:30:00', '2018-09-20 02:30:00',
                '2018-09-21 02:30:00', '2018-09-22 02:30:00',
                '2018-09-23 02:30:00', '2018-09-24 02:30:00',
                '2018-09-25 02:30:00', '2018-09-26 02:30:00',
                '2018-09-27 02:30:00', '2018-09-28 02:30:00',
                '2018-09-29 02:30:00', '2018-09-30 02:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (3, 0): DatetimeIndex(['2018-09-01 03:00:00', '2018-09-02 03:00:00',
                '2018-09-03 03:00:00', '2018-09-04 03:00:00',
                '2018-09-05 03:00:00', '2018-09-06 03:00:00',
                '2018-09-07 03:00:00', '2018-09-08 03:00:00',
                '2018-09-09 03:00:00', '2018-09-10 03:00:00',
                '2018-09-11 03:00:00', '2018-09-12 03:00:00',
                '2018-09-13 03:00:00', '2018-09-14 03:00:00',
                '2018-09-15 03:00:00', '2018-09-16 03:00:00',
                '2018-09-17 03:00:00', '2018-09-18 03:00:00',
                '2018-09-19 03:00:00', '2018-09-20 03:00:00',
                '2018-09-21 03:00:00', '2018-09-22 03:00:00',
                '2018-09-23 03:00:00', '2018-09-24 03:00:00',
                '2018-09-25 03:00:00', '2018-09-26 03:00:00',
                '2018-09-27 03:00:00', '2018-09-28 03:00:00',
                '2018-09-29 03:00:00', '2018-09-30 03:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (3, 30): DatetimeIndex(['2018-09-01 03:30:00', '2018-09-02 03:30:00',
                '2018-09-03 03:30:00', '2018-09-04 03:30:00',
                '2018-09-05 03:30:00', '2018-09-06 03:30:00',
                '2018-09-07 03:30:00', '2018-09-08 03:30:00',
                '2018-09-09 03:30:00', '2018-09-10 03:30:00',
                '2018-09-11 03:30:00', '2018-09-12 03:30:00',
                '2018-09-13 03:30:00', '2018-09-14 03:30:00',
                '2018-09-15 03:30:00', '2018-09-16 03:30:00',
                '2018-09-17 03:30:00', '2018-09-18 03:30:00',
                '2018-09-19 03:30:00', '2018-09-20 03:30:00',
                '2018-09-21 03:30:00', '2018-09-22 03:30:00',
                '2018-09-23 03:30:00', '2018-09-24 03:30:00',
                '2018-09-25 03:30:00', '2018-09-26 03:30:00',
                '2018-09-27 03:30:00', '2018-09-28 03:30:00',
                '2018-09-29 03:30:00', '2018-09-30 03:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (4, 0): DatetimeIndex(['2018-09-01 04:00:00', '2018-09-02 04:00:00',
                '2018-09-03 04:00:00', '2018-09-04 04:00:00',
                '2018-09-05 04:00:00', '2018-09-06 04:00:00',
                '2018-09-07 04:00:00', '2018-09-08 04:00:00',
                '2018-09-09 04:00:00', '2018-09-10 04:00:00',
                '2018-09-11 04:00:00', '2018-09-12 04:00:00',
                '2018-09-13 04:00:00', '2018-09-14 04:00:00',
                '2018-09-15 04:00:00', '2018-09-16 04:00:00',
                '2018-09-17 04:00:00', '2018-09-18 04:00:00',
                '2018-09-19 04:00:00', '2018-09-20 04:00:00',
                '2018-09-21 04:00:00', '2018-09-22 04:00:00',
                '2018-09-23 04:00:00', '2018-09-24 04:00:00',
                '2018-09-25 04:00:00', '2018-09-26 04:00:00',
                '2018-09-27 04:00:00', '2018-09-28 04:00:00',
                '2018-09-29 04:00:00', '2018-09-30 04:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (4, 30): DatetimeIndex(['2018-09-01 04:30:00', '2018-09-02 04:30:00',
                '2018-09-03 04:30:00', '2018-09-04 04:30:00',
                '2018-09-05 04:30:00', '2018-09-06 04:30:00',
                '2018-09-07 04:30:00', '2018-09-08 04:30:00',
                '2018-09-09 04:30:00', '2018-09-10 04:30:00',
                '2018-09-11 04:30:00', '2018-09-12 04:30:00',
                '2018-09-13 04:30:00', '2018-09-14 04:30:00',
                '2018-09-15 04:30:00', '2018-09-16 04:30:00',
                '2018-09-17 04:30:00', '2018-09-18 04:30:00',
                '2018-09-19 04:30:00', '2018-09-20 04:30:00',
                '2018-09-21 04:30:00', '2018-09-22 04:30:00',
                '2018-09-23 04:30:00', '2018-09-24 04:30:00',
                '2018-09-25 04:30:00', '2018-09-26 04:30:00',
                '2018-09-27 04:30:00', '2018-09-28 04:30:00',
                '2018-09-29 04:30:00', '2018-09-30 04:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (5, 0): DatetimeIndex(['2018-09-01 05:00:00', '2018-09-02 05:00:00',
                '2018-09-03 05:00:00', '2018-09-04 05:00:00',
                '2018-09-05 05:00:00', '2018-09-06 05:00:00',
                '2018-09-07 05:00:00', '2018-09-08 05:00:00',
                '2018-09-09 05:00:00', '2018-09-10 05:00:00',
                '2018-09-11 05:00:00', '2018-09-12 05:00:00',
                '2018-09-13 05:00:00', '2018-09-14 05:00:00',
                '2018-09-15 05:00:00', '2018-09-16 05:00:00',
                '2018-09-17 05:00:00', '2018-09-18 05:00:00',
                '2018-09-19 05:00:00', '2018-09-20 05:00:00',
                '2018-09-21 05:00:00', '2018-09-22 05:00:00',
                '2018-09-23 05:00:00', '2018-09-24 05:00:00',
                '2018-09-25 05:00:00', '2018-09-26 05:00:00',
                '2018-09-27 05:00:00', '2018-09-28 05:00:00',
                '2018-09-29 05:00:00', '2018-09-30 05:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (5, 30): DatetimeIndex(['2018-09-01 05:30:00', '2018-09-02 05:30:00',
                '2018-09-03 05:30:00', '2018-09-04 05:30:00',
                '2018-09-05 05:30:00', '2018-09-06 05:30:00',
                '2018-09-07 05:30:00', '2018-09-08 05:30:00',
                '2018-09-09 05:30:00', '2018-09-10 05:30:00',
                '2018-09-11 05:30:00', '2018-09-12 05:30:00',
                '2018-09-13 05:30:00', '2018-09-14 05:30:00',
                '2018-09-15 05:30:00', '2018-09-16 05:30:00',
                '2018-09-17 05:30:00', '2018-09-18 05:30:00',
                '2018-09-19 05:30:00', '2018-09-20 05:30:00',
                '2018-09-21 05:30:00', '2018-09-22 05:30:00',
                '2018-09-23 05:30:00', '2018-09-24 05:30:00',
                '2018-09-25 05:30:00', '2018-09-26 05:30:00',
                '2018-09-27 05:30:00', '2018-09-28 05:30:00',
                '2018-09-29 05:30:00', '2018-09-30 05:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (6, 0): DatetimeIndex(['2018-09-01 06:00:00', '2018-09-02 06:00:00',
                '2018-09-03 06:00:00', '2018-09-04 06:00:00',
                '2018-09-05 06:00:00', '2018-09-06 06:00:00',
                '2018-09-07 06:00:00', '2018-09-08 06:00:00',
                '2018-09-09 06:00:00', '2018-09-10 06:00:00',
                '2018-09-11 06:00:00', '2018-09-12 06:00:00',
                '2018-09-13 06:00:00', '2018-09-14 06:00:00',
                '2018-09-15 06:00:00', '2018-09-16 06:00:00',
                '2018-09-17 06:00:00', '2018-09-18 06:00:00',
                '2018-09-19 06:00:00', '2018-09-20 06:00:00',
                '2018-09-21 06:00:00', '2018-09-22 06:00:00',
                '2018-09-23 06:00:00', '2018-09-24 06:00:00',
                '2018-09-25 06:00:00', '2018-09-26 06:00:00',
                '2018-09-27 06:00:00', '2018-09-28 06:00:00',
                '2018-09-29 06:00:00', '2018-09-30 06:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (6, 30): DatetimeIndex(['2018-09-01 06:30:00', '2018-09-02 06:30:00',
                '2018-09-03 06:30:00', '2018-09-04 06:30:00',
                '2018-09-05 06:30:00', '2018-09-06 06:30:00',
                '2018-09-07 06:30:00', '2018-09-08 06:30:00',
                '2018-09-09 06:30:00', '2018-09-10 06:30:00',
                '2018-09-11 06:30:00', '2018-09-12 06:30:00',
                '2018-09-13 06:30:00', '2018-09-14 06:30:00',
                '2018-09-15 06:30:00', '2018-09-16 06:30:00',
                '2018-09-17 06:30:00', '2018-09-18 06:30:00',
                '2018-09-19 06:30:00', '2018-09-20 06:30:00',
                '2018-09-21 06:30:00', '2018-09-22 06:30:00',
                '2018-09-23 06:30:00', '2018-09-24 06:30:00',
                '2018-09-25 06:30:00', '2018-09-26 06:30:00',
                '2018-09-27 06:30:00', '2018-09-28 06:30:00',
                '2018-09-29 06:30:00', '2018-09-30 06:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (7, 0): DatetimeIndex(['2018-09-01 07:00:00', '2018-09-02 07:00:00',
                '2018-09-03 07:00:00', '2018-09-04 07:00:00',
                '2018-09-05 07:00:00', '2018-09-06 07:00:00',
                '2018-09-07 07:00:00', '2018-09-08 07:00:00',
                '2018-09-09 07:00:00', '2018-09-10 07:00:00',
                '2018-09-11 07:00:00', '2018-09-12 07:00:00',
                '2018-09-13 07:00:00', '2018-09-14 07:00:00',
                '2018-09-15 07:00:00', '2018-09-16 07:00:00',
                '2018-09-17 07:00:00', '2018-09-18 07:00:00',
                '2018-09-19 07:00:00', '2018-09-20 07:00:00',
                '2018-09-21 07:00:00', '2018-09-22 07:00:00',
                '2018-09-23 07:00:00', '2018-09-24 07:00:00',
                '2018-09-25 07:00:00', '2018-09-26 07:00:00',
                '2018-09-27 07:00:00', '2018-09-28 07:00:00',
                '2018-09-29 07:00:00', '2018-09-30 07:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (7, 30): DatetimeIndex(['2018-09-01 07:30:00', '2018-09-02 07:30:00',
                '2018-09-03 07:30:00', '2018-09-04 07:30:00',
                '2018-09-05 07:30:00', '2018-09-06 07:30:00',
                '2018-09-07 07:30:00', '2018-09-08 07:30:00',
                '2018-09-09 07:30:00', '2018-09-10 07:30:00',
                '2018-09-11 07:30:00', '2018-09-12 07:30:00',
                '2018-09-13 07:30:00', '2018-09-14 07:30:00',
                '2018-09-15 07:30:00', '2018-09-16 07:30:00',
                '2018-09-17 07:30:00', '2018-09-18 07:30:00',
                '2018-09-19 07:30:00', '2018-09-20 07:30:00',
                '2018-09-21 07:30:00', '2018-09-22 07:30:00',
                '2018-09-23 07:30:00', '2018-09-24 07:30:00',
                '2018-09-25 07:30:00', '2018-09-26 07:30:00',
                '2018-09-27 07:30:00', '2018-09-28 07:30:00',
                '2018-09-29 07:30:00', '2018-09-30 07:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (8, 0): DatetimeIndex(['2018-09-01 08:00:00', '2018-09-02 08:00:00',
                '2018-09-03 08:00:00', '2018-09-04 08:00:00',
                '2018-09-05 08:00:00', '2018-09-06 08:00:00',
                '2018-09-07 08:00:00', '2018-09-08 08:00:00',
                '2018-09-09 08:00:00', '2018-09-10 08:00:00',
                '2018-09-11 08:00:00', '2018-09-12 08:00:00',
                '2018-09-13 08:00:00', '2018-09-14 08:00:00',
                '2018-09-15 08:00:00', '2018-09-16 08:00:00',
                '2018-09-17 08:00:00', '2018-09-18 08:00:00',
                '2018-09-19 08:00:00', '2018-09-20 08:00:00',
                '2018-09-21 08:00:00', '2018-09-22 08:00:00',
                '2018-09-23 08:00:00', '2018-09-24 08:00:00',
                '2018-09-25 08:00:00', '2018-09-26 08:00:00',
                '2018-09-27 08:00:00', '2018-09-28 08:00:00',
                '2018-09-29 08:00:00', '2018-09-30 08:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (8, 30): DatetimeIndex(['2018-09-01 08:30:00', '2018-09-02 08:30:00',
                '2018-09-03 08:30:00', '2018-09-04 08:30:00',
                '2018-09-05 08:30:00', '2018-09-06 08:30:00',
                '2018-09-07 08:30:00', '2018-09-08 08:30:00',
                '2018-09-09 08:30:00', '2018-09-10 08:30:00',
                '2018-09-11 08:30:00', '2018-09-12 08:30:00',
                '2018-09-13 08:30:00', '2018-09-14 08:30:00',
                '2018-09-15 08:30:00', '2018-09-16 08:30:00',
                '2018-09-17 08:30:00', '2018-09-18 08:30:00',
                '2018-09-19 08:30:00', '2018-09-20 08:30:00',
                '2018-09-21 08:30:00', '2018-09-22 08:30:00',
                '2018-09-23 08:30:00', '2018-09-24 08:30:00',
                '2018-09-25 08:30:00', '2018-09-26 08:30:00',
                '2018-09-27 08:30:00', '2018-09-28 08:30:00',
                '2018-09-29 08:30:00', '2018-09-30 08:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (9, 0): DatetimeIndex(['2018-09-01 09:00:00', '2018-09-02 09:00:00',
                '2018-09-03 09:00:00', '2018-09-04 09:00:00',
                '2018-09-05 09:00:00', '2018-09-06 09:00:00',
                '2018-09-07 09:00:00', '2018-09-08 09:00:00',
                '2018-09-09 09:00:00', '2018-09-10 09:00:00',
                '2018-09-11 09:00:00', '2018-09-12 09:00:00',
                '2018-09-13 09:00:00', '2018-09-14 09:00:00',
                '2018-09-15 09:00:00', '2018-09-16 09:00:00',
                '2018-09-17 09:00:00', '2018-09-18 09:00:00',
                '2018-09-19 09:00:00', '2018-09-20 09:00:00',
                '2018-09-21 09:00:00', '2018-09-22 09:00:00',
                '2018-09-23 09:00:00', '2018-09-24 09:00:00',
                '2018-09-25 09:00:00', '2018-09-26 09:00:00',
                '2018-09-27 09:00:00', '2018-09-28 09:00:00',
                '2018-09-29 09:00:00', '2018-09-30 09:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (9, 30): DatetimeIndex(['2018-09-01 09:30:00', '2018-09-02 09:30:00',
                '2018-09-03 09:30:00', '2018-09-04 09:30:00',
                '2018-09-05 09:30:00', '2018-09-06 09:30:00',
                '2018-09-07 09:30:00', '2018-09-08 09:30:00',
                '2018-09-09 09:30:00', '2018-09-10 09:30:00',
                '2018-09-11 09:30:00', '2018-09-12 09:30:00',
                '2018-09-13 09:30:00', '2018-09-14 09:30:00',
                '2018-09-15 09:30:00', '2018-09-16 09:30:00',
                '2018-09-17 09:30:00', '2018-09-18 09:30:00',
                '2018-09-19 09:30:00', '2018-09-20 09:30:00',
                '2018-09-21 09:30:00', '2018-09-22 09:30:00',
                '2018-09-23 09:30:00', '2018-09-24 09:30:00',
                '2018-09-25 09:30:00', '2018-09-26 09:30:00',
                '2018-09-27 09:30:00', '2018-09-28 09:30:00',
                '2018-09-29 09:30:00', '2018-09-30 09:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (10, 0): DatetimeIndex(['2018-09-01 10:00:00', '2018-09-02 10:00:00',
                '2018-09-03 10:00:00', '2018-09-04 10:00:00',
                '2018-09-05 10:00:00', '2018-09-06 10:00:00',
                '2018-09-07 10:00:00', '2018-09-08 10:00:00',
                '2018-09-09 10:00:00', '2018-09-10 10:00:00',
                '2018-09-11 10:00:00', '2018-09-12 10:00:00',
                '2018-09-13 10:00:00', '2018-09-14 10:00:00',
                '2018-09-15 10:00:00', '2018-09-16 10:00:00',
                '2018-09-17 10:00:00', '2018-09-18 10:00:00',
                '2018-09-19 10:00:00', '2018-09-20 10:00:00',
                '2018-09-21 10:00:00', '2018-09-22 10:00:00',
                '2018-09-23 10:00:00', '2018-09-24 10:00:00',
                '2018-09-25 10:00:00', '2018-09-26 10:00:00',
                '2018-09-27 10:00:00', '2018-09-28 10:00:00',
                '2018-09-29 10:00:00', '2018-09-30 10:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (10, 30): DatetimeIndex(['2018-09-01 10:30:00', '2018-09-02 10:30:00',
                '2018-09-03 10:30:00', '2018-09-04 10:30:00',
                '2018-09-05 10:30:00', '2018-09-06 10:30:00',
                '2018-09-07 10:30:00', '2018-09-08 10:30:00',
                '2018-09-09 10:30:00', '2018-09-10 10:30:00',
                '2018-09-11 10:30:00', '2018-09-12 10:30:00',
                '2018-09-13 10:30:00', '2018-09-14 10:30:00',
                '2018-09-15 10:30:00', '2018-09-16 10:30:00',
                '2018-09-17 10:30:00', '2018-09-18 10:30:00',
                '2018-09-19 10:30:00', '2018-09-20 10:30:00',
                '2018-09-21 10:30:00', '2018-09-22 10:30:00',
                '2018-09-23 10:30:00', '2018-09-24 10:30:00',
                '2018-09-25 10:30:00', '2018-09-26 10:30:00',
                '2018-09-27 10:30:00', '2018-09-28 10:30:00',
                '2018-09-29 10:30:00', '2018-09-30 10:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (11, 0): DatetimeIndex(['2018-09-01 11:00:00', '2018-09-02 11:00:00',
                '2018-09-03 11:00:00', '2018-09-04 11:00:00',
                '2018-09-05 11:00:00', '2018-09-06 11:00:00',
                '2018-09-07 11:00:00', '2018-09-08 11:00:00',
                '2018-09-09 11:00:00', '2018-09-10 11:00:00',
                '2018-09-11 11:00:00', '2018-09-12 11:00:00',
                '2018-09-13 11:00:00', '2018-09-14 11:00:00',
                '2018-09-15 11:00:00', '2018-09-16 11:00:00',
                '2018-09-17 11:00:00', '2018-09-18 11:00:00',
                '2018-09-19 11:00:00', '2018-09-20 11:00:00',
                '2018-09-21 11:00:00', '2018-09-22 11:00:00',
                '2018-09-23 11:00:00', '2018-09-24 11:00:00',
                '2018-09-25 11:00:00', '2018-09-26 11:00:00',
                '2018-09-27 11:00:00', '2018-09-28 11:00:00',
                '2018-09-29 11:00:00', '2018-09-30 11:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (11, 30): DatetimeIndex(['2018-09-01 11:30:00', '2018-09-02 11:30:00',
                '2018-09-03 11:30:00', '2018-09-04 11:30:00',
                '2018-09-05 11:30:00', '2018-09-06 11:30:00',
                '2018-09-07 11:30:00', '2018-09-08 11:30:00',
                '2018-09-09 11:30:00', '2018-09-10 11:30:00',
                '2018-09-11 11:30:00', '2018-09-12 11:30:00',
                '2018-09-13 11:30:00', '2018-09-14 11:30:00',
                '2018-09-15 11:30:00', '2018-09-16 11:30:00',
                '2018-09-17 11:30:00', '2018-09-18 11:30:00',
                '2018-09-19 11:30:00', '2018-09-20 11:30:00',
                '2018-09-21 11:30:00', '2018-09-22 11:30:00',
                '2018-09-23 11:30:00', '2018-09-24 11:30:00',
                '2018-09-25 11:30:00', '2018-09-26 11:30:00',
                '2018-09-27 11:30:00', '2018-09-28 11:30:00',
                '2018-09-29 11:30:00', '2018-09-30 11:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (12, 0): DatetimeIndex(['2018-09-01 12:00:00', '2018-09-02 12:00:00',
                '2018-09-03 12:00:00', '2018-09-04 12:00:00',
                '2018-09-05 12:00:00', '2018-09-06 12:00:00',
                '2018-09-07 12:00:00', '2018-09-08 12:00:00',
                '2018-09-09 12:00:00', '2018-09-10 12:00:00',
                '2018-09-11 12:00:00', '2018-09-12 12:00:00',
                '2018-09-13 12:00:00', '2018-09-14 12:00:00',
                '2018-09-15 12:00:00', '2018-09-16 12:00:00',
                '2018-09-17 12:00:00', '2018-09-18 12:00:00',
                '2018-09-19 12:00:00', '2018-09-20 12:00:00',
                '2018-09-21 12:00:00', '2018-09-22 12:00:00',
                '2018-09-23 12:00:00', '2018-09-24 12:00:00',
                '2018-09-25 12:00:00', '2018-09-26 12:00:00',
                '2018-09-27 12:00:00', '2018-09-28 12:00:00',
                '2018-09-29 12:00:00', '2018-09-30 12:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (12, 30): DatetimeIndex(['2018-09-01 12:30:00', '2018-09-02 12:30:00',
                '2018-09-03 12:30:00', '2018-09-04 12:30:00',
                '2018-09-05 12:30:00', '2018-09-06 12:30:00',
                '2018-09-07 12:30:00', '2018-09-08 12:30:00',
                '2018-09-09 12:30:00', '2018-09-10 12:30:00',
                '2018-09-11 12:30:00', '2018-09-12 12:30:00',
                '2018-09-13 12:30:00', '2018-09-14 12:30:00',
                '2018-09-15 12:30:00', '2018-09-16 12:30:00',
                '2018-09-17 12:30:00', '2018-09-18 12:30:00',
                '2018-09-19 12:30:00', '2018-09-20 12:30:00',
                '2018-09-21 12:30:00', '2018-09-22 12:30:00',
                '2018-09-23 12:30:00', '2018-09-24 12:30:00',
                '2018-09-25 12:30:00', '2018-09-26 12:30:00',
                '2018-09-27 12:30:00', '2018-09-28 12:30:00',
                '2018-09-29 12:30:00', '2018-09-30 12:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (13, 0): DatetimeIndex(['2018-09-01 13:00:00', '2018-09-02 13:00:00',
                '2018-09-03 13:00:00', '2018-09-04 13:00:00',
                '2018-09-05 13:00:00', '2018-09-06 13:00:00',
                '2018-09-07 13:00:00', '2018-09-08 13:00:00',
                '2018-09-09 13:00:00', '2018-09-10 13:00:00',
                '2018-09-11 13:00:00', '2018-09-12 13:00:00',
                '2018-09-13 13:00:00', '2018-09-14 13:00:00',
                '2018-09-15 13:00:00', '2018-09-16 13:00:00',
                '2018-09-17 13:00:00', '2018-09-18 13:00:00',
                '2018-09-19 13:00:00', '2018-09-20 13:00:00',
                '2018-09-21 13:00:00', '2018-09-22 13:00:00',
                '2018-09-23 13:00:00', '2018-09-24 13:00:00',
                '2018-09-25 13:00:00', '2018-09-26 13:00:00',
                '2018-09-27 13:00:00', '2018-09-28 13:00:00',
                '2018-09-29 13:00:00', '2018-09-30 13:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (13, 30): DatetimeIndex(['2018-09-01 13:30:00', '2018-09-02 13:30:00',
                '2018-09-03 13:30:00', '2018-09-04 13:30:00',
                '2018-09-05 13:30:00', '2018-09-06 13:30:00',
                '2018-09-07 13:30:00', '2018-09-08 13:30:00',
                '2018-09-09 13:30:00', '2018-09-10 13:30:00',
                '2018-09-11 13:30:00', '2018-09-12 13:30:00',
                '2018-09-13 13:30:00', '2018-09-14 13:30:00',
                '2018-09-15 13:30:00', '2018-09-16 13:30:00',
                '2018-09-17 13:30:00', '2018-09-18 13:30:00',
                '2018-09-19 13:30:00', '2018-09-20 13:30:00',
                '2018-09-21 13:30:00', '2018-09-22 13:30:00',
                '2018-09-23 13:30:00', '2018-09-24 13:30:00',
                '2018-09-25 13:30:00', '2018-09-26 13:30:00',
                '2018-09-27 13:30:00', '2018-09-28 13:30:00',
                '2018-09-29 13:30:00', '2018-09-30 13:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (14, 0): DatetimeIndex(['2018-09-01 14:00:00', '2018-09-02 14:00:00',
                '2018-09-03 14:00:00', '2018-09-04 14:00:00',
                '2018-09-05 14:00:00', '2018-09-06 14:00:00',
                '2018-09-07 14:00:00', '2018-09-08 14:00:00',
                '2018-09-09 14:00:00', '2018-09-10 14:00:00',
                '2018-09-11 14:00:00', '2018-09-12 14:00:00',
                '2018-09-13 14:00:00', '2018-09-14 14:00:00',
                '2018-09-15 14:00:00', '2018-09-16 14:00:00',
                '2018-09-17 14:00:00', '2018-09-18 14:00:00',
                '2018-09-19 14:00:00', '2018-09-20 14:00:00',
                '2018-09-21 14:00:00', '2018-09-22 14:00:00',
                '2018-09-23 14:00:00', '2018-09-24 14:00:00',
                '2018-09-25 14:00:00', '2018-09-26 14:00:00',
                '2018-09-27 14:00:00', '2018-09-28 14:00:00',
                '2018-09-29 14:00:00', '2018-09-30 14:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (14, 30): DatetimeIndex(['2018-09-01 14:30:00', '2018-09-02 14:30:00',
                '2018-09-03 14:30:00', '2018-09-04 14:30:00',
                '2018-09-05 14:30:00', '2018-09-06 14:30:00',
                '2018-09-07 14:30:00', '2018-09-08 14:30:00',
                '2018-09-09 14:30:00', '2018-09-10 14:30:00',
                '2018-09-11 14:30:00', '2018-09-12 14:30:00',
                '2018-09-13 14:30:00', '2018-09-14 14:30:00',
                '2018-09-15 14:30:00', '2018-09-16 14:30:00',
                '2018-09-17 14:30:00', '2018-09-18 14:30:00',
                '2018-09-19 14:30:00', '2018-09-20 14:30:00',
                '2018-09-21 14:30:00', '2018-09-22 14:30:00',
                '2018-09-23 14:30:00', '2018-09-24 14:30:00',
                '2018-09-25 14:30:00', '2018-09-26 14:30:00',
                '2018-09-27 14:30:00', '2018-09-28 14:30:00',
                '2018-09-29 14:30:00', '2018-09-30 14:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (15, 0): DatetimeIndex(['2018-09-01 15:00:00', '2018-09-02 15:00:00',
                '2018-09-03 15:00:00', '2018-09-04 15:00:00',
                '2018-09-05 15:00:00', '2018-09-06 15:00:00',
                '2018-09-07 15:00:00', '2018-09-08 15:00:00',
                '2018-09-09 15:00:00', '2018-09-10 15:00:00',
                '2018-09-11 15:00:00', '2018-09-12 15:00:00',
                '2018-09-13 15:00:00', '2018-09-14 15:00:00',
                '2018-09-15 15:00:00', '2018-09-16 15:00:00',
                '2018-09-17 15:00:00', '2018-09-18 15:00:00',
                '2018-09-19 15:00:00', '2018-09-20 15:00:00',
                '2018-09-21 15:00:00', '2018-09-22 15:00:00',
                '2018-09-23 15:00:00', '2018-09-24 15:00:00',
                '2018-09-25 15:00:00', '2018-09-26 15:00:00',
                '2018-09-27 15:00:00', '2018-09-28 15:00:00',
                '2018-09-29 15:00:00', '2018-09-30 15:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (15, 30): DatetimeIndex(['2018-09-01 15:30:00', '2018-09-02 15:30:00',
                '2018-09-03 15:30:00', '2018-09-04 15:30:00',
                '2018-09-05 15:30:00', '2018-09-06 15:30:00',
                '2018-09-07 15:30:00', '2018-09-08 15:30:00',
                '2018-09-09 15:30:00', '2018-09-10 15:30:00',
                '2018-09-11 15:30:00', '2018-09-12 15:30:00',
                '2018-09-13 15:30:00', '2018-09-14 15:30:00',
                '2018-09-15 15:30:00', '2018-09-16 15:30:00',
                '2018-09-17 15:30:00', '2018-09-18 15:30:00',
                '2018-09-19 15:30:00', '2018-09-20 15:30:00',
                '2018-09-21 15:30:00', '2018-09-22 15:30:00',
                '2018-09-23 15:30:00', '2018-09-24 15:30:00',
                '2018-09-25 15:30:00', '2018-09-26 15:30:00',
                '2018-09-27 15:30:00', '2018-09-28 15:30:00',
                '2018-09-29 15:30:00', '2018-09-30 15:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (16, 0): DatetimeIndex(['2018-09-01 16:00:00', '2018-09-02 16:00:00',
                '2018-09-03 16:00:00', '2018-09-04 16:00:00',
                '2018-09-05 16:00:00', '2018-09-06 16:00:00',
                '2018-09-07 16:00:00', '2018-09-08 16:00:00',
                '2018-09-09 16:00:00', '2018-09-10 16:00:00',
                '2018-09-11 16:00:00', '2018-09-12 16:00:00',
                '2018-09-13 16:00:00', '2018-09-14 16:00:00',
                '2018-09-15 16:00:00', '2018-09-16 16:00:00',
                '2018-09-17 16:00:00', '2018-09-18 16:00:00',
                '2018-09-19 16:00:00', '2018-09-20 16:00:00',
                '2018-09-21 16:00:00', '2018-09-22 16:00:00',
                '2018-09-23 16:00:00', '2018-09-24 16:00:00',
                '2018-09-25 16:00:00', '2018-09-26 16:00:00',
                '2018-09-27 16:00:00', '2018-09-28 16:00:00',
                '2018-09-29 16:00:00', '2018-09-30 16:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (16, 30): DatetimeIndex(['2018-09-01 16:30:00', '2018-09-02 16:30:00',
                '2018-09-03 16:30:00', '2018-09-04 16:30:00',
                '2018-09-05 16:30:00', '2018-09-06 16:30:00',
                '2018-09-07 16:30:00', '2018-09-08 16:30:00',
                '2018-09-09 16:30:00', '2018-09-10 16:30:00',
                '2018-09-11 16:30:00', '2018-09-12 16:30:00',
                '2018-09-13 16:30:00', '2018-09-14 16:30:00',
                '2018-09-15 16:30:00', '2018-09-16 16:30:00',
                '2018-09-17 16:30:00', '2018-09-18 16:30:00',
                '2018-09-19 16:30:00', '2018-09-20 16:30:00',
                '2018-09-21 16:30:00', '2018-09-22 16:30:00',
                '2018-09-23 16:30:00', '2018-09-24 16:30:00',
                '2018-09-25 16:30:00', '2018-09-26 16:30:00',
                '2018-09-27 16:30:00', '2018-09-28 16:30:00',
                '2018-09-29 16:30:00', '2018-09-30 16:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (17, 0): DatetimeIndex(['2018-09-01 17:00:00', '2018-09-02 17:00:00',
                '2018-09-03 17:00:00', '2018-09-04 17:00:00',
                '2018-09-05 17:00:00', '2018-09-06 17:00:00',
                '2018-09-07 17:00:00', '2018-09-08 17:00:00',
                '2018-09-09 17:00:00', '2018-09-10 17:00:00',
                '2018-09-11 17:00:00', '2018-09-12 17:00:00',
                '2018-09-13 17:00:00', '2018-09-14 17:00:00',
                '2018-09-15 17:00:00', '2018-09-16 17:00:00',
                '2018-09-17 17:00:00', '2018-09-18 17:00:00',
                '2018-09-19 17:00:00', '2018-09-20 17:00:00',
                '2018-09-21 17:00:00', '2018-09-22 17:00:00',
                '2018-09-23 17:00:00', '2018-09-24 17:00:00',
                '2018-09-25 17:00:00', '2018-09-26 17:00:00',
                '2018-09-27 17:00:00', '2018-09-28 17:00:00',
                '2018-09-29 17:00:00', '2018-09-30 17:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (17, 30): DatetimeIndex(['2018-09-01 17:30:00', '2018-09-02 17:30:00',
                '2018-09-03 17:30:00', '2018-09-04 17:30:00',
                '2018-09-05 17:30:00', '2018-09-06 17:30:00',
                '2018-09-07 17:30:00', '2018-09-08 17:30:00',
                '2018-09-09 17:30:00', '2018-09-10 17:30:00',
                '2018-09-11 17:30:00', '2018-09-12 17:30:00',
                '2018-09-13 17:30:00', '2018-09-14 17:30:00',
                '2018-09-15 17:30:00', '2018-09-16 17:30:00',
                '2018-09-17 17:30:00', '2018-09-18 17:30:00',
                '2018-09-19 17:30:00', '2018-09-20 17:30:00',
                '2018-09-21 17:30:00', '2018-09-22 17:30:00',
                '2018-09-23 17:30:00', '2018-09-24 17:30:00',
                '2018-09-25 17:30:00', '2018-09-26 17:30:00',
                '2018-09-27 17:30:00', '2018-09-28 17:30:00',
                '2018-09-29 17:30:00', '2018-09-30 17:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (18, 0): DatetimeIndex(['2018-09-01 18:00:00', '2018-09-02 18:00:00',
                '2018-09-03 18:00:00', '2018-09-04 18:00:00',
                '2018-09-05 18:00:00', '2018-09-06 18:00:00',
                '2018-09-07 18:00:00', '2018-09-08 18:00:00',
                '2018-09-09 18:00:00', '2018-09-10 18:00:00',
                '2018-09-11 18:00:00', '2018-09-12 18:00:00',
                '2018-09-13 18:00:00', '2018-09-14 18:00:00',
                '2018-09-15 18:00:00', '2018-09-16 18:00:00',
                '2018-09-17 18:00:00', '2018-09-18 18:00:00',
                '2018-09-19 18:00:00', '2018-09-20 18:00:00',
                '2018-09-21 18:00:00', '2018-09-22 18:00:00',
                '2018-09-23 18:00:00', '2018-09-24 18:00:00',
                '2018-09-25 18:00:00', '2018-09-26 18:00:00',
                '2018-09-27 18:00:00', '2018-09-28 18:00:00',
                '2018-09-29 18:00:00', '2018-09-30 18:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (18, 30): DatetimeIndex(['2018-09-01 18:30:00', '2018-09-02 18:30:00',
                '2018-09-03 18:30:00', '2018-09-04 18:30:00',
                '2018-09-05 18:30:00', '2018-09-06 18:30:00',
                '2018-09-07 18:30:00', '2018-09-08 18:30:00',
                '2018-09-09 18:30:00', '2018-09-10 18:30:00',
                '2018-09-11 18:30:00', '2018-09-12 18:30:00',
                '2018-09-13 18:30:00', '2018-09-14 18:30:00',
                '2018-09-15 18:30:00', '2018-09-16 18:30:00',
                '2018-09-17 18:30:00', '2018-09-18 18:30:00',
                '2018-09-19 18:30:00', '2018-09-20 18:30:00',
                '2018-09-21 18:30:00', '2018-09-22 18:30:00',
                '2018-09-23 18:30:00', '2018-09-24 18:30:00',
                '2018-09-25 18:30:00', '2018-09-26 18:30:00',
                '2018-09-27 18:30:00', '2018-09-28 18:30:00',
                '2018-09-29 18:30:00', '2018-09-30 18:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (19, 0): DatetimeIndex(['2018-09-01 19:00:00', '2018-09-02 19:00:00',
                '2018-09-03 19:00:00', '2018-09-04 19:00:00',
                '2018-09-05 19:00:00', '2018-09-06 19:00:00',
                '2018-09-07 19:00:00', '2018-09-08 19:00:00',
                '2018-09-09 19:00:00', '2018-09-10 19:00:00',
                '2018-09-11 19:00:00', '2018-09-12 19:00:00',
                '2018-09-13 19:00:00', '2018-09-14 19:00:00',
                '2018-09-15 19:00:00', '2018-09-16 19:00:00',
                '2018-09-17 19:00:00', '2018-09-18 19:00:00',
                '2018-09-19 19:00:00', '2018-09-20 19:00:00',
                '2018-09-21 19:00:00', '2018-09-22 19:00:00',
                '2018-09-23 19:00:00', '2018-09-24 19:00:00',
                '2018-09-25 19:00:00', '2018-09-26 19:00:00',
                '2018-09-27 19:00:00', '2018-09-28 19:00:00',
                '2018-09-29 19:00:00', '2018-09-30 19:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (19, 30): DatetimeIndex(['2018-09-01 19:30:00', '2018-09-02 19:30:00',
                '2018-09-03 19:30:00', '2018-09-04 19:30:00',
                '2018-09-05 19:30:00', '2018-09-06 19:30:00',
                '2018-09-07 19:30:00', '2018-09-08 19:30:00',
                '2018-09-09 19:30:00', '2018-09-10 19:30:00',
                '2018-09-11 19:30:00', '2018-09-12 19:30:00',
                '2018-09-13 19:30:00', '2018-09-14 19:30:00',
                '2018-09-15 19:30:00', '2018-09-16 19:30:00',
                '2018-09-17 19:30:00', '2018-09-18 19:30:00',
                '2018-09-19 19:30:00', '2018-09-20 19:30:00',
                '2018-09-21 19:30:00', '2018-09-22 19:30:00',
                '2018-09-23 19:30:00', '2018-09-24 19:30:00',
                '2018-09-25 19:30:00', '2018-09-26 19:30:00',
                '2018-09-27 19:30:00', '2018-09-28 19:30:00',
                '2018-09-29 19:30:00', '2018-09-30 19:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (20, 0): DatetimeIndex(['2018-09-01 20:00:00', '2018-09-02 20:00:00',
                '2018-09-03 20:00:00', '2018-09-04 20:00:00',
                '2018-09-05 20:00:00', '2018-09-06 20:00:00',
                '2018-09-07 20:00:00', '2018-09-08 20:00:00',
                '2018-09-09 20:00:00', '2018-09-10 20:00:00',
                '2018-09-11 20:00:00', '2018-09-12 20:00:00',
                '2018-09-13 20:00:00', '2018-09-14 20:00:00',
                '2018-09-15 20:00:00', '2018-09-16 20:00:00',
                '2018-09-17 20:00:00', '2018-09-18 20:00:00',
                '2018-09-19 20:00:00', '2018-09-20 20:00:00',
                '2018-09-21 20:00:00', '2018-09-22 20:00:00',
                '2018-09-23 20:00:00', '2018-09-24 20:00:00',
                '2018-09-25 20:00:00', '2018-09-26 20:00:00',
                '2018-09-27 20:00:00', '2018-09-28 20:00:00',
                '2018-09-29 20:00:00', '2018-09-30 20:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (20, 30): DatetimeIndex(['2018-09-01 20:30:00', '2018-09-02 20:30:00',
                '2018-09-03 20:30:00', '2018-09-04 20:30:00',
                '2018-09-05 20:30:00', '2018-09-06 20:30:00',
                '2018-09-07 20:30:00', '2018-09-08 20:30:00',
                '2018-09-09 20:30:00', '2018-09-10 20:30:00',
                '2018-09-11 20:30:00', '2018-09-12 20:30:00',
                '2018-09-13 20:30:00', '2018-09-14 20:30:00',
                '2018-09-15 20:30:00', '2018-09-16 20:30:00',
                '2018-09-17 20:30:00', '2018-09-18 20:30:00',
                '2018-09-19 20:30:00', '2018-09-20 20:30:00',
                '2018-09-21 20:30:00', '2018-09-22 20:30:00',
                '2018-09-23 20:30:00', '2018-09-24 20:30:00',
                '2018-09-25 20:30:00', '2018-09-26 20:30:00',
                '2018-09-27 20:30:00', '2018-09-28 20:30:00',
                '2018-09-29 20:30:00', '2018-09-30 20:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (21, 0): DatetimeIndex(['2018-09-01 21:00:00', '2018-09-02 21:00:00',
                '2018-09-03 21:00:00', '2018-09-04 21:00:00',
                '2018-09-05 21:00:00', '2018-09-06 21:00:00',
                '2018-09-07 21:00:00', '2018-09-08 21:00:00',
                '2018-09-09 21:00:00', '2018-09-10 21:00:00',
                '2018-09-11 21:00:00', '2018-09-12 21:00:00',
                '2018-09-13 21:00:00', '2018-09-14 21:00:00',
                '2018-09-15 21:00:00', '2018-09-16 21:00:00',
                '2018-09-17 21:00:00', '2018-09-18 21:00:00',
                '2018-09-19 21:00:00', '2018-09-20 21:00:00',
                '2018-09-21 21:00:00', '2018-09-22 21:00:00',
                '2018-09-23 21:00:00', '2018-09-24 21:00:00',
                '2018-09-25 21:00:00', '2018-09-26 21:00:00',
                '2018-09-27 21:00:00', '2018-09-28 21:00:00',
                '2018-09-29 21:00:00', '2018-09-30 21:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (21, 30): DatetimeIndex(['2018-09-01 21:30:00', '2018-09-02 21:30:00',
                '2018-09-03 21:30:00', '2018-09-04 21:30:00',
                '2018-09-05 21:30:00', '2018-09-06 21:30:00',
                '2018-09-07 21:30:00', '2018-09-08 21:30:00',
                '2018-09-09 21:30:00', '2018-09-10 21:30:00',
                '2018-09-11 21:30:00', '2018-09-12 21:30:00',
                '2018-09-13 21:30:00', '2018-09-14 21:30:00',
                '2018-09-15 21:30:00', '2018-09-16 21:30:00',
                '2018-09-17 21:30:00', '2018-09-18 21:30:00',
                '2018-09-19 21:30:00', '2018-09-20 21:30:00',
                '2018-09-21 21:30:00', '2018-09-22 21:30:00',
                '2018-09-23 21:30:00', '2018-09-24 21:30:00',
                '2018-09-25 21:30:00', '2018-09-26 21:30:00',
                '2018-09-27 21:30:00', '2018-09-28 21:30:00',
                '2018-09-29 21:30:00', '2018-09-30 21:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (22, 0): DatetimeIndex(['2018-09-01 22:00:00', '2018-09-02 22:00:00',
                '2018-09-03 22:00:00', '2018-09-04 22:00:00',
                '2018-09-05 22:00:00', '2018-09-06 22:00:00',
                '2018-09-07 22:00:00', '2018-09-08 22:00:00',
                '2018-09-09 22:00:00', '2018-09-10 22:00:00',
                '2018-09-11 22:00:00', '2018-09-12 22:00:00',
                '2018-09-13 22:00:00', '2018-09-14 22:00:00',
                '2018-09-15 22:00:00', '2018-09-16 22:00:00',
                '2018-09-17 22:00:00', '2018-09-18 22:00:00',
                '2018-09-19 22:00:00', '2018-09-20 22:00:00',
                '2018-09-21 22:00:00', '2018-09-22 22:00:00',
                '2018-09-23 22:00:00', '2018-09-24 22:00:00',
                '2018-09-25 22:00:00', '2018-09-26 22:00:00',
                '2018-09-27 22:00:00', '2018-09-28 22:00:00',
                '2018-09-29 22:00:00', '2018-09-30 22:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (22, 30): DatetimeIndex(['2018-09-01 22:30:00', '2018-09-02 22:30:00',
                '2018-09-03 22:30:00', '2018-09-04 22:30:00',
                '2018-09-05 22:30:00', '2018-09-06 22:30:00',
                '2018-09-07 22:30:00', '2018-09-08 22:30:00',
                '2018-09-09 22:30:00', '2018-09-10 22:30:00',
                '2018-09-11 22:30:00', '2018-09-12 22:30:00',
                '2018-09-13 22:30:00', '2018-09-14 22:30:00',
                '2018-09-15 22:30:00', '2018-09-16 22:30:00',
                '2018-09-17 22:30:00', '2018-09-18 22:30:00',
                '2018-09-19 22:30:00', '2018-09-20 22:30:00',
                '2018-09-21 22:30:00', '2018-09-22 22:30:00',
                '2018-09-23 22:30:00', '2018-09-24 22:30:00',
                '2018-09-25 22:30:00', '2018-09-26 22:30:00',
                '2018-09-27 22:30:00', '2018-09-28 22:30:00',
                '2018-09-29 22:30:00', '2018-09-30 22:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (23, 0): DatetimeIndex(['2018-09-01 23:00:00', '2018-09-02 23:00:00',
                '2018-09-03 23:00:00', '2018-09-04 23:00:00',
                '2018-09-05 23:00:00', '2018-09-06 23:00:00',
                '2018-09-07 23:00:00', '2018-09-08 23:00:00',
                '2018-09-09 23:00:00', '2018-09-10 23:00:00',
                '2018-09-11 23:00:00', '2018-09-12 23:00:00',
                '2018-09-13 23:00:00', '2018-09-14 23:00:00',
                '2018-09-15 23:00:00', '2018-09-16 23:00:00',
                '2018-09-17 23:00:00', '2018-09-18 23:00:00',
                '2018-09-19 23:00:00', '2018-09-20 23:00:00',
                '2018-09-21 23:00:00', '2018-09-22 23:00:00',
                '2018-09-23 23:00:00', '2018-09-24 23:00:00',
                '2018-09-25 23:00:00', '2018-09-26 23:00:00',
                '2018-09-27 23:00:00', '2018-09-28 23:00:00',
                '2018-09-29 23:00:00', '2018-09-30 23:00:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T'),
 (23, 30): DatetimeIndex(['2018-09-01 23:30:00', '2018-09-02 23:30:00',
                '2018-09-03 23:30:00', '2018-09-04 23:30:00',
                '2018-09-05 23:30:00', '2018-09-06 23:30:00',
                '2018-09-07 23:30:00', '2018-09-08 23:30:00',
                '2018-09-09 23:30:00', '2018-09-10 23:30:00',
                '2018-09-11 23:30:00', '2018-09-12 23:30:00',
                '2018-09-13 23:30:00', '2018-09-14 23:30:00',
                '2018-09-15 23:30:00', '2018-09-16 23:30:00',
                '2018-09-17 23:30:00', '2018-09-18 23:30:00',
                '2018-09-19 23:30:00', '2018-09-20 23:30:00',
                '2018-09-21 23:30:00', '2018-09-22 23:30:00',
                '2018-09-23 23:30:00', '2018-09-24 23:30:00',
                '2018-09-25 23:30:00', '2018-09-26 23:30:00',
                '2018-09-27 23:30:00', '2018-09-28 23:30:00',
                '2018-09-29 23:30:00', '2018-09-30 23:30:00'],
               dtype='datetime64[ns]', name=('TimeStamp', 'timestamp'), freq='1440T')}
[25]:
grp_hr_min=data_ana.groupby([data_ana.index.hour.rename('hour'),data_ana.index.minute.rename('minute')])
grp_hr_min.quantile([.25,.5,.75])
[25]:
TSoil100 TSoil10 TSoil20 TSoil30 TSoil50 TSoil5 Tsoil Tconc Tdew_der VP_der ... Luw Luw(uc) Rn Sb(csd3) Sdw Suw Pmsl P Rain Rain_accum_der
degC degC degC degC degC degC degC degC degC hPa ... W/m^2 W/m^2 W/m^2 W/m^2 W/m^2 W/m^2 hPa hPa mm mm
hour minute
0 0 0.25 16.203333 13.750833 14.415000 14.777500 15.242500 13.977500 7.829167 9.912500 7.284167 10.219167 ... 342.727500 -13.627500 -44.627500 -4.658333 -2.756667 -0.008333 1018.250000 1010.228333 0.0 0.000000
0.50 16.620000 16.590000 16.726667 16.915000 16.663333 16.576667 11.020000 13.310000 9.248333 11.678333 ... 349.321667 -13.311667 -35.965000 -3.283333 -1.746667 1.040000 1022.050000 1014.041667 0.0 0.000000
0.75 16.896667 17.685833 17.789167 17.642500 16.966667 17.575000 14.341667 15.930000 12.159167 14.182500 ... 376.979167 -12.440000 -16.367500 -3.116667 -1.385833 1.851667 1024.536000 1016.394167 0.0 0.100000
30 0.25 16.267917 14.052500 14.885833 15.364167 15.660000 14.264583 8.153333 10.255000 7.198750 10.161250 ... 342.745417 -13.530000 -41.023333 -4.691667 -2.285833 0.267500 1018.135417 1010.152500 0.0 0.000000
0.50 16.627500 16.763333 16.780833 16.965833 16.685833 16.637500 10.879167 13.026667 9.775000 12.104167 ... 356.557500 -13.142500 -36.063333 -3.250000 -1.840833 1.070000 1021.210000 1013.210833 0.0 0.000000
0.75 16.907500 17.606250 17.760417 17.643333 16.975000 17.512083 14.853750 15.783750 12.562083 14.560833 ... 378.645417 -12.342083 -22.944167 -3.116667 -1.378750 1.746667 1024.443750 1016.322917 0.0 0.000000
1 0 0.25 16.265417 14.017500 14.851250 15.344583 15.652500 14.208750 8.482917 10.040833 7.270417 10.210417 ... 341.416667 -13.621667 -41.513750 -4.662500 -2.329167 0.210000 1018.140833 1010.163333 0.0 0.000000
0.50 16.627500 16.710833 16.765000 16.914167 16.696667 16.525000 10.580833 12.639167 9.548333 11.920000 ... 354.915000 -13.010000 -32.285833 -3.275000 -1.727500 0.885000 1021.006667 1013.009167 0.0 0.000000
0.75 16.907500 17.500417 17.716250 17.640417 16.975000 17.476667 13.931250 14.882500 12.078333 14.106667 ... 375.659167 -12.341250 -11.857500 -3.116667 -1.381250 1.697083 1024.414583 1016.280417 0.0 0.000000
30 0.25 16.265000 13.984583 14.813333 15.324583 15.646250 14.150417 8.072917 10.107500 7.085417 10.082500 ... 339.978750 -13.687500 -38.483333 -4.737500 -2.952500 0.188333 1018.021250 1010.044167 0.0 0.000000
0.50 16.625833 16.665000 16.751667 16.869167 16.705833 16.419167 10.192500 12.169167 9.403333 11.804167 ... 355.128333 -13.090833 -32.211667 -3.258333 -1.605000 0.805000 1020.862500 1012.875833 0.0 0.000000
0.75 16.907083 17.442917 17.680000 17.635000 16.977500 17.452500 13.584583 14.760000 11.855833 13.900833 ... 373.794167 -12.205417 -17.152917 -3.104167 -1.205833 1.513750 1024.363750 1016.224167 0.0 0.000000
2 0 0.25 16.265000 13.944583 14.776667 15.304167 15.633333 14.089583 7.879167 9.941667 6.990833 10.015417 ... 338.578750 -13.557917 -41.320833 -4.712500 -2.701667 0.218333 1017.807083 1009.843750 0.0 0.000000
0.50 16.620833 16.619167 16.737500 16.850833 16.708333 16.312500 10.161667 11.922500 9.426667 11.823333 ... 352.797500 -13.080833 -33.703333 -3.225000 -1.951667 0.938333 1020.971667 1012.975833 0.0 0.000000
0.75 16.905000 17.381667 17.634583 17.626667 16.983750 17.349167 13.168750 14.348750 11.722917 13.776667 ... 369.042083 -12.417083 -21.355833 -3.087500 -1.264167 1.616667 1024.258750 1016.122917 0.0 0.000000
30 0.25 16.262500 13.912917 14.743750 15.284167 15.623333 13.973333 8.472500 10.220417 6.977083 10.005417 ... 338.802500 -13.490833 -39.216667 -4.720833 -2.523750 0.230833 1017.760833 1009.812917 0.0 0.000000
0.50 16.620000 16.576667 16.720833 16.824167 16.703333 16.152500 9.715833 11.860000 9.263333 11.690833 ... 352.171667 -12.970000 -32.739167 -3.216667 -1.779167 0.951667 1020.985000 1012.978333 0.0 0.000000
0.75 16.907500 17.366250 17.565833 17.620417 16.986667 17.336667 12.817500 14.175000 11.720000 13.773333 ... 368.262083 -11.929167 -12.278333 -3.100000 -1.244583 1.771667 1024.400000 1016.244167 0.0 0.000000
3 0 0.25 16.262917 13.882917 14.706667 15.260000 15.608333 13.858750 8.203750 9.963333 7.051667 10.059583 ... 337.852083 -13.540417 -40.092500 -4.762500 -2.728750 0.082500 1017.668750 1009.731250 0.0 0.000000
0.50 16.619167 16.510000 16.710000 16.800000 16.695000 15.970833 9.658333 11.389167 8.945000 11.442500 ... 351.966667 -12.900000 -33.474167 -3.275000 -1.742500 0.840000 1021.013333 1012.999167 0.0 0.000000
0.75 16.911667 17.302917 17.472917 17.614167 16.992917 17.211667 12.880000 14.024167 11.710417 13.762917 ... 368.078333 -11.949167 -13.647500 -3.141667 -1.175833 1.534167 1024.489167 1016.322917 0.0 0.000000
30 0.25 16.265000 13.854167 14.672500 15.236667 15.599583 13.750417 7.466250 9.181250 6.967917 10.003333 ... 337.045000 -13.541250 -39.738750 -4.712500 -2.542917 0.158333 1017.531667 1009.570833 0.0 0.000000
0.50 16.610833 16.428333 16.695000 16.776667 16.685000 15.790833 9.693333 11.284167 8.705833 11.259167 ... 349.915000 -12.868333 -32.610833 -3.266667 -1.925000 0.749167 1021.084167 1012.950833 0.0 0.000000
0.75 16.908750 17.230000 17.390417 17.597083 16.993750 17.130417 12.676667 13.838750 11.550833 13.620417 ... 367.637917 -11.930000 -9.918333 -3.116667 -1.067083 1.784583 1024.549583 1016.378750 0.0 0.000000
4 0 0.25 16.262917 13.823750 14.638750 15.215000 15.587917 13.630417 7.020833 8.679583 6.733333 9.840833 ... 332.952917 -13.505000 -38.580000 -4.720833 -2.543750 -0.004167 1017.439167 1009.487083 0.0 0.000000
0.50 16.610000 16.350000 16.662500 16.745833 16.675000 15.623333 10.015833 10.922500 8.683333 11.241667 ... 350.878333 -12.883333 -33.360000 -3.266667 -1.720833 0.770000 1020.995000 1012.817500 0.0 0.000000
0.75 16.910000 17.180417 17.312500 17.584167 16.995000 17.018750 12.195000 13.671667 11.531667 13.604167 ... 366.963333 -11.867500 -19.250833 -3.100000 -0.953333 1.713333 1024.542500 1016.370000 0.0 0.000000
30 0.25 16.258750 13.795417 14.608750 15.189583 15.574167 13.599167 6.819167 8.257083 6.815417 9.895833 ... 334.261667 -13.524167 -39.825417 -4.695833 -2.263750 -0.195000 1017.468333 1009.516250 0.0 0.000000
0.50 16.605833 16.272500 16.625000 16.738333 16.662500 15.496667 9.970000 10.867500 8.516667 11.117500 ... 351.562500 -12.814167 -30.935000 -3.266667 -1.651667 0.923333 1020.936667 1012.830000 0.0 0.000000
0.75 16.908333 17.150000 17.280833 17.557083 16.994583 16.867917 11.742500 13.452917 11.528750 13.600000 ... 365.616250 -12.037083 -7.601667 -3.116667 -1.056250 2.028333 1024.580417 1016.400417 0.0 0.000000
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
19 0 0.25 16.218750 14.350833 14.537917 14.667500 15.144583 14.873333 10.987500 13.338750 5.862500 9.265417 ... 360.194167 -13.560417 -47.597500 -4.512500 -3.258750 -0.422917 1017.630417 1009.685417 0.0 0.000000
0.50 16.559167 17.220833 16.961667 16.810000 16.501667 17.337500 14.897500 17.305000 9.290833 11.713333 ... 375.828333 -13.407500 -33.670000 -3.116667 -2.529167 0.605000 1020.815833 1012.820000 0.0 0.000000
0.75 16.865833 18.263333 18.024167 17.540417 16.868750 18.801667 17.408333 19.542083 11.589583 13.653333 ... 390.057500 -13.105000 -16.187917 -3.066667 -1.808333 1.150000 1024.169167 1016.102500 0.0 0.466667
30 0.25 16.215417 14.286667 14.551667 14.669167 15.137083 14.685417 10.087083 12.369167 6.012500 9.361250 ... 354.275000 -13.763750 -46.365833 -4.533333 -3.226667 -0.094167 1017.781250 1009.864167 0.0 0.000000
0.50 16.562500 17.155000 16.970000 16.846667 16.511667 17.161667 14.579167 16.751667 9.266667 11.692500 ... 373.774167 -13.465833 -36.598333 -3.158333 -2.703333 0.763333 1021.010833 1013.035000 0.0 0.000000
0.75 16.869167 18.221667 18.028750 17.563750 16.872917 18.695000 16.403750 18.902083 11.761250 13.811667 ... 385.471250 -13.092083 -16.241667 -3.083333 -1.677500 1.337500 1024.247500 1016.189583 0.0 0.600000
20 0 0.25 16.212083 14.223333 14.550833 14.668333 15.130000 14.567917 9.787500 11.679583 6.370000 9.597917 ... 352.318750 -13.664583 -45.067500 -4.562500 -2.735000 -0.172500 1017.718333 1009.790417 0.0 0.000000
0.50 16.566667 17.072500 16.967500 16.876667 16.519167 17.003333 13.876667 16.032500 9.390833 11.794167 ... 371.701667 -13.368333 -30.376667 -3.158333 -2.260000 0.685000 1021.007500 1013.054167 0.0 0.000000
0.75 16.871250 18.187083 18.025000 17.588750 16.882917 18.519167 16.130000 18.427083 12.190000 14.208750 ... 381.597917 -13.034167 -11.950000 -3.087500 -1.521667 1.711667 1024.302083 1016.225833 0.0 0.600000
30 0.25 16.207083 14.160000 14.537917 14.660833 15.122500 14.487917 9.258750 11.218333 6.777500 9.872917 ... 350.978750 -13.640000 -47.912500 -4.550000 -3.377500 0.146667 1017.690000 1009.782083 0.0 0.000000
0.50 16.569167 16.985833 16.956667 16.905833 16.526667 16.844167 13.310833 15.473333 9.355833 11.762500 ... 369.208333 -13.450000 -40.895000 -3.150000 -2.111667 0.838333 1020.967500 1013.040833 0.0 0.000000
0.75 16.869167 18.155833 18.008333 17.606250 16.889583 18.420000 15.892083 17.898750 12.061250 14.088333 ... 382.229167 -12.947917 -20.322083 -3.104167 -1.491250 1.633333 1024.375000 1016.292917 0.0 0.600000
21 0 0.25 16.203750 14.104583 14.514583 14.656250 15.114167 14.412500 8.902917 11.015000 6.944583 9.984583 ... 348.611250 -13.789167 -47.309583 -4.550000 -2.944583 0.095000 1017.869583 1009.963333 0.0 0.000000
0.50 16.573333 16.900000 16.934167 16.915000 16.531667 16.722500 12.922500 14.994167 9.108333 11.570000 ... 367.007500 -13.415000 -40.457500 -3.150000 -2.433333 0.936667 1021.177500 1013.232500 0.0 0.000000
0.75 16.867083 18.125833 17.984167 17.618750 16.897917 18.345000 15.684583 17.723333 12.183750 14.201250 ... 382.695417 -13.016250 -20.243750 -3.070833 -1.546250 1.521250 1024.411250 1016.250417 0.0 0.600000
30 0.25 16.197917 14.033750 14.490000 14.644167 15.108333 14.335833 8.690000 10.885833 7.119583 10.105000 ... 347.955000 -13.728750 -44.223750 -4.612500 -2.977917 0.268333 1017.934583 1009.988750 0.0 0.000000
0.50 16.578333 16.815000 16.907500 16.912500 16.540833 16.615000 12.765833 14.560833 9.133333 11.589167 ... 365.048333 -13.325000 -39.369167 -3.158333 -2.130000 0.777500 1021.355000 1013.402500 0.0 0.000000
0.75 16.865833 18.080000 17.950000 17.627917 16.909167 18.267500 15.479583 17.270833 12.266667 14.280833 ... 381.662500 -12.761667 -14.270833 -3.087500 -1.506667 1.162500 1024.383333 1016.211667 0.0 0.600000
22 0 0.25 16.195833 13.962083 14.454583 14.629583 15.102083 14.238333 8.542083 10.610000 7.154167 10.130417 ... 343.875417 -13.678750 -44.177083 -4.608333 -2.767500 0.037500 1018.185000 1010.280417 0.0 0.000000
0.50 16.575833 16.738333 16.870000 16.907500 16.552500 16.513333 12.756667 14.130833 9.285000 11.709167 ... 363.048333 -13.334167 -37.298333 -3.166667 -2.230833 0.660000 1021.529167 1013.506667 0.0 0.000000
0.75 16.864167 18.016250 17.912917 17.636250 16.931250 18.173750 15.468750 16.788333 12.286250 14.297083 ... 381.725417 -12.805000 -19.549167 -3.091667 -1.575000 1.535000 1024.375833 1016.211250 0.0 0.866667
30 0.25 16.190000 13.878333 14.414167 14.610833 15.091250 14.150417 8.186250 10.676667 7.070417 10.069167 ... 342.670833 -13.789583 -43.435833 -4.595833 -2.568750 0.054167 1018.100000 1010.186667 0.0 0.000000
0.50 16.578333 16.653333 16.830000 16.896667 16.563333 16.431667 12.428333 14.000833 9.183333 11.627500 ... 362.225000 -13.132500 -39.990833 -3.166667 -2.050000 0.791667 1021.570000 1013.624167 0.0 0.000000
0.75 16.862500 17.964167 17.873333 17.637917 16.954583 17.982500 14.967500 16.335000 12.243333 14.257500 ... 379.055833 -12.714583 -16.972500 -3.116667 -1.516667 1.652500 1024.432500 1016.257083 0.0 1.000000
23 0 0.25 16.190417 13.811250 14.376250 14.593333 15.081250 14.065000 8.334167 10.341250 7.143750 10.121667 ... 342.039167 -13.722500 -44.231667 -4.650000 -2.502917 -0.192500 1018.019583 1010.107917 0.0 0.000000
0.50 16.580000 16.570833 16.785833 16.881667 16.575833 16.367500 12.029167 13.738333 9.428333 11.820833 ... 361.158333 -13.383333 -36.176667 -3.150000 -1.864167 0.596667 1021.540833 1013.587500 0.0 0.000000
0.75 16.857083 17.900000 17.830833 17.639167 16.962917 17.826667 14.995000 16.264583 12.205000 14.224583 ... 379.963750 -12.612083 -16.725000 -3.087500 -1.474583 1.620833 1024.187917 1016.026250 0.0 1.200000
30 0.25 16.183750 13.744583 14.336667 14.584167 15.072083 13.971667 7.897500 10.077083 7.185833 10.152500 ... 342.902917 -13.610833 -41.025417 -4.633333 -2.833750 -0.150833 1018.043333 1010.125000 0.0 0.000000
0.50 16.580000 16.489167 16.739167 16.860000 16.586667 16.315833 11.660833 13.696667 9.204167 11.645000 ... 358.426667 -13.324167 -33.520833 -3.200000 -1.727500 0.603333 1021.575000 1013.581667 0.0 0.000000
0.75 16.857500 17.813333 17.809583 17.641250 16.970417 17.734167 14.860000 16.039167 12.132083 14.156250 ... 377.024583 -12.581250 -14.304167 -3.104167 -1.268750 1.451250 1024.072917 1015.892500 0.0 1.200000

144 rows × 44 columns

[26]:
grp_hr_min.quantile([.25,.5,.75]).unstack().Rn.plot()
[26]:
<matplotlib.axes._subplots.AxesSubplot at 0x118bcc4a8>
../_images/tutorials_Demo-solution_28_1.png
[30]:
df_quartiles=grp_hr_min.quantile([.25,.5,.75]).unstack().swaplevel(1,2,axis=1)
ax_fill=df_quartiles.Rn.reset_index().plot(y=0.5)
../_images/tutorials_Demo-solution_29_0.png
[31]:
ax_fill.fill_between(
    df_quartiles.reset_index().index,
    df_quartiles.Rn.loc[:, 0.25].values.reshape(-1),
    df_quartiles.Rn.loc[:, 0.75].values.reshape(-1),
    alpha=0.3)
ax_fill.figure
[31]:
../_images/tutorials_Demo-solution_30_0.png
[32]:
df_quartiles.columns=df_quartiles.columns.droplevel(-1)
[33]:
df_quartiles.index=pd.date_range('2018 10 01','2018 10 02',freq='30T')[:-1]
[34]:
ax_fill=df_quartiles.Rn.plot(y=0.5)
ax_fill.fill_between(
    df_quartiles.index,
    df_quartiles.Rn.loc[:, 0.25],
    df_quartiles.Rn.loc[:, 0.75],
    alpha=0.3)
# ax_fill.figure
[34]:
<matplotlib.collections.PolyCollection at 0x118e7dc50>
../_images/tutorials_Demo-solution_33_1.png
[35]:
# ax_fill=
df_quartiles.swaplevel(0,1,axis=1).loc[:,0.5].plot(y=['Rn','Q_H','Q_E','G'])
# ax_fill.fill_between(
#     df_quartiles.index,
#     df_quartiles.Rn.loc[:, 0.25],
#     df_quartiles.Rn.loc[:, 0.75],
#     alpha=0.3)
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-35-50624d568c76> in <module>()
      1 # ax_fill=
----> 2 df_quartiles.swaplevel(0,1,axis=1).loc[:,0.5].plot(y=['Rn','Q_H','Q_E','G'])
      3 # ax_fill.fill_between(
      4 #     df_quartiles.index,
      5 #     df_quartiles.Rn.loc[:, 0.25],

/usr/local/lib/python3.7/site-packages/pandas/plotting/_core.py in __call__(self, x, y, kind, ax, subplots, sharex, sharey, layout, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, secondary_y, sort_columns, **kwds)
   2939                           fontsize=fontsize, colormap=colormap, table=table,
   2940                           yerr=yerr, xerr=xerr, secondary_y=secondary_y,
-> 2941                           sort_columns=sort_columns, **kwds)
   2942     __call__.__doc__ = plot_frame.__doc__
   2943

/usr/local/lib/python3.7/site-packages/pandas/plotting/_core.py in plot_frame(data, x, y, kind, ax, subplots, sharex, sharey, layout, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, secondary_y, sort_columns, **kwds)
   1975                  yerr=yerr, xerr=xerr,
   1976                  secondary_y=secondary_y, sort_columns=sort_columns,
-> 1977                  **kwds)
   1978
   1979

/usr/local/lib/python3.7/site-packages/pandas/plotting/_core.py in _plot(data, x, y, subplots, ax, kind, **kwds)
   1786
   1787                 # don't overwrite
-> 1788                 data = data[y].copy()
   1789
   1790                 if isinstance(data, ABCSeries):

/usr/local/lib/python3.7/site-packages/pandas/core/frame.py in __getitem__(self, key)
   2680         if isinstance(key, (Series, np.ndarray, Index, list)):
   2681             # either boolean or fancy integer index
-> 2682             return self._getitem_array(key)
   2683         elif isinstance(key, DataFrame):
   2684             return self._getitem_frame(key)

/usr/local/lib/python3.7/site-packages/pandas/core/frame.py in _getitem_array(self, key)
   2724             return self._take(indexer, axis=0)
   2725         else:
-> 2726             indexer = self.loc._convert_to_indexer(key, axis=1)
   2727             return self._take(indexer, axis=1)
   2728

/usr/local/lib/python3.7/site-packages/pandas/core/indexing.py in _convert_to_indexer(self, obj, axis, is_setter)
   1325                 if mask.any():
   1326                     raise KeyError('{mask} not in index'
-> 1327                                    .format(mask=objarr[mask]))
   1328
   1329                 return com._values_from_object(indexer)

KeyError: "['Q_H' 'Q_E'] not in index"
[36]:
data_ana=pd.concat([data_30min,data_EC],axis=1).astype(float)
[37]:
data_ana.loc[:,['Rn','Q_H','Q_E','G']].plot()
[37]:
<matplotlib.axes._subplots.AxesSubplot at 0x118bcc208>
../_images/tutorials_Demo-solution_36_1.png
[38]:
grp_hr_min=data_ana.groupby([data_ana.index.hour.rename('hour'),data_ana.index.minute.rename('minute')])
df_quartiles=grp_hr_min.quantile([.25,.5,.75]).unstack().swaplevel(1,2,axis=1)
[39]:
df_quartiles.swaplevel(0,1,axis=1).loc[:,0.5].plot(y=['Rn','Q_H','Q_E','G'])
[39]:
<matplotlib.axes._subplots.AxesSubplot at 0x119486da0>
../_images/tutorials_Demo-solution_38_1.png

understand the “notorious” matplotlib-based plotting: http://pbpython.com/effective-matplotlib.html

[40]:
list_var=['Rn','Q_H','Q_E','G']
df_plot=df_quartiles.loc[:,list_var].swaplevel(0,1,axis=1)
df_plot.index=pd.date_range('2018 10 01','2018 10 02',freq='30T')[:-1]
df_plot.columns=df_plot.columns.droplevel(-1)
ax_fill=df_plot.loc[:,0.5].plot()
# ax_fill.fill_between(
#     df_quartiles.index,
#     df_quartiles.Rn.loc[:, 0.25],
#     df_quartiles.Rn.loc[:, 0.75],
#     alpha=0.3)
../_images/tutorials_Demo-solution_40_0.png
[41]:
df_plot_var = df_plot.swaplevel(0, 1, axis=1)
fig, ax = plt.subplots(1)
for var in list_var:
    df_var = df_plot_var.loc[:, var]
    y0 = df_var[0.5]
    y1, y2 = df_var[0.75], df_var[0.25]
    y0.plot(ax=ax, label=var).fill_between(
        df_var.index, y1, y2, alpha=0.3)
../_images/tutorials_Demo-solution_41_0.png
[42]:
ax.legend(title='variable')
ax.set_xlabel('time')
ax.set_ylabel('heat flux ($W m^{-2}$)')
import matplotlib.dates as mdates
ax.xaxis.set_major_locator(mdates.HourLocator())
# ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
# ax.xaxis.set_minor_formatter(mdates.DateFormatter('%H:%M'))
fig
[42]:
../_images/tutorials_Demo-solution_42_0.png
[ ]:
df_plot_var = df_plot.swaplevel(0, 1, axis=1)
idx_dt = mdates.date2num(df_plot_var.index)
df_plot_var.index=idx_dt
fig, ax = plt.subplots(1)
for var in list_var:
    df_var = df_plot_var.loc[:, var]
    y0 = df_var[0.5]
    y1, y2 = df_var[0.75], df_var[0.25]
    y0.plot(ax=ax, label=var).fill_between(
        df_plot_var.index, y1, y2, alpha=0.3)
ax.xaxis.set_major_locator(mdates.HourLocator(interval=3))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
[ ]:
df_plot_var = df_plot.swaplevel(0, 1, axis=1)
fig, ax = plt.subplots(1)
ax.xaxis.set_minor_formatter(mdates.DateFormatter('%H:%M'))
for var in list_var:
    df_var = df_plot_var.loc[:, var]
    y0 = df_var[0.5]
    y1, y2 = df_var[0.75], df_var[0.25]
    y0.plot(ax=ax, label=var).fill_between(
        df_var.index, y1, y2, alpha=0.3)
# ax.xaxis.set_major_locator(mdates.HourLocator())
# ax.xaxis.set_major_formatter(mdates.DateFormatter(''))

** `seaborn tutorial <https://seaborn.pydata.org/tutorial.html>`__**