Last active
August 29, 2015 14:27
-
-
Save ingmars/8957df06cd9fc7d22fd3 to your computer and use it in GitHub Desktop.
iPython Notebook for extracting solar and wind from German TSOs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# RES Timeseries Data Extraction\n", | |
"\n", | |
"\n", | |
"This Jupyter Notebook downloads and cleans up solar and wind timeseries from the German TSOs TransnetBW and Tennet.\n", | |
"\n", | |
"## Loading some python libraries needed later" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import urllib\n", | |
"import os\n", | |
"import pandas\n", | |
"import numpy as np" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Configuring URLs\n", | |
"\n", | |
"Note: The placeholder syntax for the month (and year) variables in the URL look quite ugly at the moment. I use a trick there to avoid running into the problem that the default placeholder marker in python is the percentage sign, but the URL also contains percentage signs itself which must be escaped by two percentage signs %%." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"conf = {\n", | |
" 'transnetbw': {\n", | |
" 'pv': \"https://www.transnetbw.de/de/kennzahlen/erneuerbare-energien/fotovoltaik?app=solar&activeTab=csv&selectMonatDownload=__ESCAPE__d&view=1&download=true\".replace(\"%\", \"%%\").replace(\"__ESCAPE__\",\"%\"),\n", | |
" 'wind': 'https://www.transnetbw.de/de/kennzahlen/erneuerbare-energien/windenergie?app=wind&activeTab=csv&selectMonatDownload=__ESCAPE__d&view=1&download=true'.replace(\"%\", \"%%\").replace(\"__ESCAPE__\",\"%\"),\n", | |
" }\n", | |
" ,'tennet': {\n", | |
" 'pv': \"http://www.tennettso.de/site/de/phpbridge?commandpath=Tatsaechliche_und_prognostizierte_Solarenergieeinspeisung%2FmonthDataSheetCsv.php&sub=total&querystring=monat%3D__ESCAPE__(year)d-__ESCAPE__(month)02d&contenttype=text%2Fx-csv\".replace(\"%\", \"%%\").replace(\"__ESCAPE__\",\"%\"),\n", | |
" 'wind': \"http://www.tennettso.de/site/de/phpbridge?commandpath=Tatsaechliche_und_prognostizierte_Windenergieeinspeisung%2FmonthDataSheetCsv.php&querystring=monat%3D__ESCAPE__(year)-__ESCAPE__(month)02d&contenttype=text%2Fx-csv\".replace(\"%\", \"%%\").replace(\"__ESCAPE__\",\"%\"),\n", | |
" },\n", | |
"}" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Downloading the data\n", | |
"\n", | |
"Here we loop through the configuration defined above by TSO (transnetbw, tennet) and Technology (pv, wind).\n", | |
"\n", | |
"We then do slightly different things depending on which TSO we're in, because Tennet has month and year as variables in the URL whereas TransnetBW only has the month in there." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"\n", | |
"# Download data\n", | |
"\n", | |
"for tsoName, tsoConf in conf.iteritems():\n", | |
" for techName, url in tsoConf.iteritems():\n", | |
" \n", | |
" if tsoName == 'tennet':\n", | |
" for year in range (2014, 2015): # This means a range from 2014 to 2014 (including)\n", | |
" path = 'csv/'+tsoName+'/'+techName+'/'+str(year)+'/'\n", | |
" if not os.path.exists(path): os.makedirs(path)\n", | |
"\n", | |
" for month in range(1, 13): # This means a range from 1 to 12 (including)\n", | |
" full_url = url % {'month': month, 'year': year}\n", | |
" urllib.urlretrieve(full_url, path+\"%d.csv\" % month)\n", | |
"\n", | |
" if tsoName == 'transnetbw':\n", | |
" path = 'csv/'+tsoName+'/'+techName+'/'\n", | |
" if not os.path.exists(path): os.makedirs(path)\n", | |
" \n", | |
" for month in range(1, 25): # This means the last 24 months\n", | |
" full_url = url % month\n", | |
" urllib.urlretrieve(full_url, path+\"%d.csv\" % month)\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Define individual read functions\n", | |
"\n", | |
"The TSOs have different columns and date formats they use in their CSV files. Here we define individual functions for the two TSOs to read-in a single monthly file in their specific format.\n", | |
"\n", | |
"We're going to use these functions in the loop for all months later on." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# Define specific readData functions for the TSOs\n", | |
"\n", | |
"def readData_tennet(filePath, tsoName, techName):\n", | |
" data = pandas.read_csv(\n", | |
" filePath,\n", | |
" sep=\";\",\n", | |
" skiprows=4,\n", | |
" names=['datum','position','forecast_'+tsoName+'_'+techName,'actual_'+tsoName+'_'+techName,'unknown']\n", | |
" )\n", | |
"\n", | |
" data.fillna(method='ffill',inplace=True)\n", | |
"\n", | |
" data['hour'] = (np.trunc((data['position']-1) /4)).astype(int).astype(str)\n", | |
" data['minute'] = (((data['position']-1) % 4)*15).astype(int).astype(str)\n", | |
" data['time'] = data['datum']+' '+data['hour']+':'+data['minute']\n", | |
"\n", | |
" data['Timestamp'] = pandas.to_datetime(data['time'])\n", | |
"\n", | |
" data.set_index('Timestamp',inplace=True)\n", | |
"\n", | |
" del data['position']\n", | |
" del data['hour'] \n", | |
" del data['minute'] \n", | |
" del data['datum'] \n", | |
" del data['time'] \n", | |
" del data['unknown']\n", | |
" return data\n", | |
"\n", | |
" \n", | |
"def readData_transnet(filePath, tsoName, techName):\n", | |
" data = pandas.read_csv(\n", | |
" filePath,\n", | |
" decimal=',',\n", | |
" sep=\";\",\n", | |
" parse_dates = {'Timestamp' : ['Datum von', 'Uhrzeit von']},\n", | |
" index_col = \"Timestamp\",\n", | |
" dayfirst=True,\n", | |
" )\n", | |
"\n", | |
" data = data.drop('Unnamed: 6', 1)\n", | |
" data = data.drop('Datum bis', 1)\n", | |
" data = data.drop('Uhrzeit bis', 1)\n", | |
" data.fillna(0,inplace=True)\n", | |
" \n", | |
" forecastCol = 'forecast_'+tsoName+'_'+techName\n", | |
" actualCol = 'actual_'+tsoName+'_'+techName\n", | |
"\n", | |
" data.rename(\n", | |
" columns={'Prognose (MW)': forecastCol, 'Ist-Wert (MW)': actualCol},\n", | |
" inplace=True\n", | |
" )\n", | |
" \n", | |
"\n", | |
" if 'Datum' in data.columns: \n", | |
" del data['Datum']\n", | |
" if 'Uhrzeit' in data.columns: \n", | |
" del data['Uhrzeit'] \n", | |
" \n", | |
" return data\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Testing the read functions\n", | |
"\n", | |
"If you want to test the individual read functions just for checking if everything works, you can uncomment the line below." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# transnetTestDataWind = readData_transnet(\"csv/transnetbw/wind/7.csv\", 'transnetbw', 'wind')\n", | |
"\n", | |
"# And now output the TestData:\n", | |
"# transnetTestDataWind" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Loading the data into memory and cleaning it up\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"# Read and merge data\n", | |
"\n", | |
"resultDataSet = pandas.DataFrame();\n", | |
"\n", | |
"for tsoName, tsoConf in conf.iteritems():\n", | |
" for techName, url in tsoConf.iteritems():\n", | |
"\n", | |
" if tsoName == 'tennet':\n", | |
" for year in range (2014, 2015):\n", | |
" for month in range(1, 12):\n", | |
" filePath = 'csv/'+tsoName+'/'+techName+'/'+str(year)+'/'+str(month)+'.csv'\n", | |
" try:\n", | |
" df = readData_tennet(filePath, tsoName, techName)\n", | |
" try:\n", | |
" df = readData_tennet(filePath, tsoName, techName)\n", | |
" resultDataSet = resultDataSet.combine_first(df)\n", | |
" except TypeError:\n", | |
" atLeastOneError = 'yes'\n", | |
" except ValueError:\n", | |
" atLeastOneError = 'yes'\n", | |
"\n", | |
" if tsoName == 'transnetbw':\n", | |
" for month in range(1, 20):\n", | |
" filePath = 'csv/'+tsoName+'/'+techName+'/'+str(month)+'.csv'\n", | |
" df = readData_transnet(filePath, tsoName, techName)\n", | |
" try:\n", | |
" df = readData_transnet(filePath, tsoName, techName)\n", | |
" resultDataSet = resultDataSet.combine_first(df)\n", | |
" except ValueError:\n", | |
" atLeastOneError = 'yes'\n", | |
" print 'error'\n", | |
"\n", | |
"\n", | |
"if 'Datum' in resultDataSet.columns: \n", | |
" del resultDataSet['Datum']\n", | |
"if 'Uhrzeit' in resultDataSet.columns: \n", | |
" del resultDataSet['Uhrzeit'] \n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Validation and Plausibility Checks\n", | |
"\n", | |
"Ideally you would do plausibility checks on your data here. (Check for missing data, check that output is never negative, etc.)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Here you would do plausibility checks..." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Save to one big CSV file" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"resultDataSet.to_csv(\"csv/allData.csv\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Display the data\n", | |
"\n", | |
"Something seems to be broken with the Tennet wind data... Other than that, the time spans of the different TSO datasets read-in above are different." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>actual_tennet_pv</th>\n", | |
" <th>actual_tennet_wind</th>\n", | |
" <th>actual_transnetbw_pv</th>\n", | |
" <th>actual_transnetbw_wind</th>\n", | |
" <th>forecast_tennet_pv</th>\n", | |
" <th>forecast_tennet_wind</th>\n", | |
" <th>forecast_transnetbw_pv</th>\n", | |
" <th>forecast_transnetbw_wind</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>Timestamp</th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>2014-01-01 00:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 134</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 79</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 00:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 124</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 79</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 00:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 115</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 80</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 00:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 118</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 80</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 01:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 128</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 80</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 01:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 119</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 83</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 01:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 106</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 86</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 01:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 79</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 89</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 02:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 88</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 91</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 02:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 95</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 96</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 02:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 85</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 101</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 02:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 89</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 106</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 03:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 104</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 111</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 03:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 118</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 117</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 03:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 133</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 124</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 03:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 171</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 130</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 04:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 113</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 136</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 04:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 104</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 142</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 04:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 100</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 148</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 04:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 92</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 155</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 05:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 69</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 161</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 05:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 96</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 166</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 05:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 97</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 171</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 05:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 100</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 176</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 06:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 87</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 181</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 06:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 106</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 183</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 06:30:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 116</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 186</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 06:45:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 105</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 188</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 07:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 99</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 190</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 07:15:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 90</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 188</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 16:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2636</td>\n", | |
" <td> 32</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2759</td>\n", | |
" <td> 43</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 16:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2438</td>\n", | |
" <td> 29</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2579</td>\n", | |
" <td> 45</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 17:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2208</td>\n", | |
" <td> 33</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2383</td>\n", | |
" <td> 47</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 17:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1998</td>\n", | |
" <td> 36</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2171</td>\n", | |
" <td> 49</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 17:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1791</td>\n", | |
" <td> 30</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1948</td>\n", | |
" <td> 52</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 17:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1535</td>\n", | |
" <td> 32</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1718</td>\n", | |
" <td> 54</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 18:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1292</td>\n", | |
" <td> 37</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1490</td>\n", | |
" <td> 56</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 18:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1096</td>\n", | |
" <td> 36</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1267</td>\n", | |
" <td> 58</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 18:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 911</td>\n", | |
" <td> 41</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1050</td>\n", | |
" <td> 60</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 18:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 754</td>\n", | |
" <td> 53</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 844</td>\n", | |
" <td> 63</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 19:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 601</td>\n", | |
" <td> 65</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 660</td>\n", | |
" <td> 65</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 19:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 448</td>\n", | |
" <td> 68</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 502</td>\n", | |
" <td> 68</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 19:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 359</td>\n", | |
" <td> 70</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 373</td>\n", | |
" <td> 71</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 19:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 274</td>\n", | |
" <td> 79</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 279</td>\n", | |
" <td> 75</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 20:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 199</td>\n", | |
" <td> 83</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 200</td>\n", | |
" <td> 79</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 20:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 123</td>\n", | |
" <td> 95</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 123</td>\n", | |
" <td> 84</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 20:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 45</td>\n", | |
" <td> 109</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 63</td>\n", | |
" <td> 89</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 20:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 14</td>\n", | |
" <td> 122</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 22</td>\n", | |
" <td> 94</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 21:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 137</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2</td>\n", | |
" <td> 98</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 21:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 153</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2</td>\n", | |
" <td> 103</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 21:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 174</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1</td>\n", | |
" <td> 107</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 21:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 195</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 112</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 22:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 220</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 117</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 22:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 224</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 122</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 22:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 230</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 127</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 22:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 243</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 133</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 23:00:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 231</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 135</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 23:15:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 224</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 135</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 23:30:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 235</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 135</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 23:45:00</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 235</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 135</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>55417 rows × 8 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" actual_tennet_pv actual_tennet_wind \\\n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 NaN \n", | |
"2014-01-01 00:15:00 0 NaN \n", | |
"2014-01-01 00:30:00 0 NaN \n", | |
"2014-01-01 00:45:00 0 NaN \n", | |
"2014-01-01 01:00:00 0 NaN \n", | |
"2014-01-01 01:15:00 0 NaN \n", | |
"2014-01-01 01:30:00 0 NaN \n", | |
"2014-01-01 01:45:00 0 NaN \n", | |
"2014-01-01 02:00:00 0 NaN \n", | |
"2014-01-01 02:15:00 0 NaN \n", | |
"2014-01-01 02:30:00 0 NaN \n", | |
"2014-01-01 02:45:00 0 NaN \n", | |
"2014-01-01 03:00:00 0 NaN \n", | |
"2014-01-01 03:15:00 0 NaN \n", | |
"2014-01-01 03:30:00 0 NaN \n", | |
"2014-01-01 03:45:00 0 NaN \n", | |
"2014-01-01 04:00:00 0 NaN \n", | |
"2014-01-01 04:15:00 0 NaN \n", | |
"2014-01-01 04:30:00 0 NaN \n", | |
"2014-01-01 04:45:00 0 NaN \n", | |
"2014-01-01 05:00:00 0 NaN \n", | |
"2014-01-01 05:15:00 0 NaN \n", | |
"2014-01-01 05:30:00 0 NaN \n", | |
"2014-01-01 05:45:00 0 NaN \n", | |
"2014-01-01 06:00:00 0 NaN \n", | |
"2014-01-01 06:15:00 0 NaN \n", | |
"2014-01-01 06:30:00 0 NaN \n", | |
"2014-01-01 06:45:00 0 NaN \n", | |
"2014-01-01 07:00:00 0 NaN \n", | |
"2014-01-01 07:15:00 0 NaN \n", | |
"... ... ... \n", | |
"2015-07-31 16:30:00 NaN NaN \n", | |
"2015-07-31 16:45:00 NaN NaN \n", | |
"2015-07-31 17:00:00 NaN NaN \n", | |
"2015-07-31 17:15:00 NaN NaN \n", | |
"2015-07-31 17:30:00 NaN NaN \n", | |
"2015-07-31 17:45:00 NaN NaN \n", | |
"2015-07-31 18:00:00 NaN NaN \n", | |
"2015-07-31 18:15:00 NaN NaN \n", | |
"2015-07-31 18:30:00 NaN NaN \n", | |
"2015-07-31 18:45:00 NaN NaN \n", | |
"2015-07-31 19:00:00 NaN NaN \n", | |
"2015-07-31 19:15:00 NaN NaN \n", | |
"2015-07-31 19:30:00 NaN NaN \n", | |
"2015-07-31 19:45:00 NaN NaN \n", | |
"2015-07-31 20:00:00 NaN NaN \n", | |
"2015-07-31 20:15:00 NaN NaN \n", | |
"2015-07-31 20:30:00 NaN NaN \n", | |
"2015-07-31 20:45:00 NaN NaN \n", | |
"2015-07-31 21:00:00 NaN NaN \n", | |
"2015-07-31 21:15:00 NaN NaN \n", | |
"2015-07-31 21:30:00 NaN NaN \n", | |
"2015-07-31 21:45:00 NaN NaN \n", | |
"2015-07-31 22:00:00 NaN NaN \n", | |
"2015-07-31 22:15:00 NaN NaN \n", | |
"2015-07-31 22:30:00 NaN NaN \n", | |
"2015-07-31 22:45:00 NaN NaN \n", | |
"2015-07-31 23:00:00 NaN NaN \n", | |
"2015-07-31 23:15:00 NaN NaN \n", | |
"2015-07-31 23:30:00 NaN NaN \n", | |
"2015-07-31 23:45:00 NaN NaN \n", | |
"\n", | |
" actual_transnetbw_pv actual_transnetbw_wind \\\n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 134 \n", | |
"2014-01-01 00:15:00 0 124 \n", | |
"2014-01-01 00:30:00 0 115 \n", | |
"2014-01-01 00:45:00 0 118 \n", | |
"2014-01-01 01:00:00 0 128 \n", | |
"2014-01-01 01:15:00 0 119 \n", | |
"2014-01-01 01:30:00 0 106 \n", | |
"2014-01-01 01:45:00 0 79 \n", | |
"2014-01-01 02:00:00 0 88 \n", | |
"2014-01-01 02:15:00 0 95 \n", | |
"2014-01-01 02:30:00 0 85 \n", | |
"2014-01-01 02:45:00 0 89 \n", | |
"2014-01-01 03:00:00 0 104 \n", | |
"2014-01-01 03:15:00 0 118 \n", | |
"2014-01-01 03:30:00 0 133 \n", | |
"2014-01-01 03:45:00 0 171 \n", | |
"2014-01-01 04:00:00 0 113 \n", | |
"2014-01-01 04:15:00 0 104 \n", | |
"2014-01-01 04:30:00 0 100 \n", | |
"2014-01-01 04:45:00 0 92 \n", | |
"2014-01-01 05:00:00 0 69 \n", | |
"2014-01-01 05:15:00 0 96 \n", | |
"2014-01-01 05:30:00 0 97 \n", | |
"2014-01-01 05:45:00 0 100 \n", | |
"2014-01-01 06:00:00 0 87 \n", | |
"2014-01-01 06:15:00 0 106 \n", | |
"2014-01-01 06:30:00 0 116 \n", | |
"2014-01-01 06:45:00 0 105 \n", | |
"2014-01-01 07:00:00 0 99 \n", | |
"2014-01-01 07:15:00 0 90 \n", | |
"... ... ... \n", | |
"2015-07-31 16:30:00 2636 32 \n", | |
"2015-07-31 16:45:00 2438 29 \n", | |
"2015-07-31 17:00:00 2208 33 \n", | |
"2015-07-31 17:15:00 1998 36 \n", | |
"2015-07-31 17:30:00 1791 30 \n", | |
"2015-07-31 17:45:00 1535 32 \n", | |
"2015-07-31 18:00:00 1292 37 \n", | |
"2015-07-31 18:15:00 1096 36 \n", | |
"2015-07-31 18:30:00 911 41 \n", | |
"2015-07-31 18:45:00 754 53 \n", | |
"2015-07-31 19:00:00 601 65 \n", | |
"2015-07-31 19:15:00 448 68 \n", | |
"2015-07-31 19:30:00 359 70 \n", | |
"2015-07-31 19:45:00 274 79 \n", | |
"2015-07-31 20:00:00 199 83 \n", | |
"2015-07-31 20:15:00 123 95 \n", | |
"2015-07-31 20:30:00 45 109 \n", | |
"2015-07-31 20:45:00 14 122 \n", | |
"2015-07-31 21:00:00 0 137 \n", | |
"2015-07-31 21:15:00 0 153 \n", | |
"2015-07-31 21:30:00 0 174 \n", | |
"2015-07-31 21:45:00 0 195 \n", | |
"2015-07-31 22:00:00 0 220 \n", | |
"2015-07-31 22:15:00 0 224 \n", | |
"2015-07-31 22:30:00 0 230 \n", | |
"2015-07-31 22:45:00 0 243 \n", | |
"2015-07-31 23:00:00 0 231 \n", | |
"2015-07-31 23:15:00 0 224 \n", | |
"2015-07-31 23:30:00 0 235 \n", | |
"2015-07-31 23:45:00 0 235 \n", | |
"\n", | |
" forecast_tennet_pv forecast_tennet_wind \\\n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 NaN \n", | |
"2014-01-01 00:15:00 0 NaN \n", | |
"2014-01-01 00:30:00 0 NaN \n", | |
"2014-01-01 00:45:00 0 NaN \n", | |
"2014-01-01 01:00:00 0 NaN \n", | |
"2014-01-01 01:15:00 0 NaN \n", | |
"2014-01-01 01:30:00 0 NaN \n", | |
"2014-01-01 01:45:00 0 NaN \n", | |
"2014-01-01 02:00:00 0 NaN \n", | |
"2014-01-01 02:15:00 0 NaN \n", | |
"2014-01-01 02:30:00 0 NaN \n", | |
"2014-01-01 02:45:00 0 NaN \n", | |
"2014-01-01 03:00:00 0 NaN \n", | |
"2014-01-01 03:15:00 0 NaN \n", | |
"2014-01-01 03:30:00 0 NaN \n", | |
"2014-01-01 03:45:00 0 NaN \n", | |
"2014-01-01 04:00:00 0 NaN \n", | |
"2014-01-01 04:15:00 0 NaN \n", | |
"2014-01-01 04:30:00 0 NaN \n", | |
"2014-01-01 04:45:00 0 NaN \n", | |
"2014-01-01 05:00:00 0 NaN \n", | |
"2014-01-01 05:15:00 0 NaN \n", | |
"2014-01-01 05:30:00 0 NaN \n", | |
"2014-01-01 05:45:00 0 NaN \n", | |
"2014-01-01 06:00:00 0 NaN \n", | |
"2014-01-01 06:15:00 0 NaN \n", | |
"2014-01-01 06:30:00 0 NaN \n", | |
"2014-01-01 06:45:00 0 NaN \n", | |
"2014-01-01 07:00:00 0 NaN \n", | |
"2014-01-01 07:15:00 0 NaN \n", | |
"... ... ... \n", | |
"2015-07-31 16:30:00 NaN NaN \n", | |
"2015-07-31 16:45:00 NaN NaN \n", | |
"2015-07-31 17:00:00 NaN NaN \n", | |
"2015-07-31 17:15:00 NaN NaN \n", | |
"2015-07-31 17:30:00 NaN NaN \n", | |
"2015-07-31 17:45:00 NaN NaN \n", | |
"2015-07-31 18:00:00 NaN NaN \n", | |
"2015-07-31 18:15:00 NaN NaN \n", | |
"2015-07-31 18:30:00 NaN NaN \n", | |
"2015-07-31 18:45:00 NaN NaN \n", | |
"2015-07-31 19:00:00 NaN NaN \n", | |
"2015-07-31 19:15:00 NaN NaN \n", | |
"2015-07-31 19:30:00 NaN NaN \n", | |
"2015-07-31 19:45:00 NaN NaN \n", | |
"2015-07-31 20:00:00 NaN NaN \n", | |
"2015-07-31 20:15:00 NaN NaN \n", | |
"2015-07-31 20:30:00 NaN NaN \n", | |
"2015-07-31 20:45:00 NaN NaN \n", | |
"2015-07-31 21:00:00 NaN NaN \n", | |
"2015-07-31 21:15:00 NaN NaN \n", | |
"2015-07-31 21:30:00 NaN NaN \n", | |
"2015-07-31 21:45:00 NaN NaN \n", | |
"2015-07-31 22:00:00 NaN NaN \n", | |
"2015-07-31 22:15:00 NaN NaN \n", | |
"2015-07-31 22:30:00 NaN NaN \n", | |
"2015-07-31 22:45:00 NaN NaN \n", | |
"2015-07-31 23:00:00 NaN NaN \n", | |
"2015-07-31 23:15:00 NaN NaN \n", | |
"2015-07-31 23:30:00 NaN NaN \n", | |
"2015-07-31 23:45:00 NaN NaN \n", | |
"\n", | |
" forecast_transnetbw_pv forecast_transnetbw_wind \n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 79 \n", | |
"2014-01-01 00:15:00 0 79 \n", | |
"2014-01-01 00:30:00 0 80 \n", | |
"2014-01-01 00:45:00 0 80 \n", | |
"2014-01-01 01:00:00 0 80 \n", | |
"2014-01-01 01:15:00 0 83 \n", | |
"2014-01-01 01:30:00 0 86 \n", | |
"2014-01-01 01:45:00 0 89 \n", | |
"2014-01-01 02:00:00 0 91 \n", | |
"2014-01-01 02:15:00 0 96 \n", | |
"2014-01-01 02:30:00 0 101 \n", | |
"2014-01-01 02:45:00 0 106 \n", | |
"2014-01-01 03:00:00 0 111 \n", | |
"2014-01-01 03:15:00 0 117 \n", | |
"2014-01-01 03:30:00 0 124 \n", | |
"2014-01-01 03:45:00 0 130 \n", | |
"2014-01-01 04:00:00 0 136 \n", | |
"2014-01-01 04:15:00 0 142 \n", | |
"2014-01-01 04:30:00 0 148 \n", | |
"2014-01-01 04:45:00 0 155 \n", | |
"2014-01-01 05:00:00 0 161 \n", | |
"2014-01-01 05:15:00 0 166 \n", | |
"2014-01-01 05:30:00 0 171 \n", | |
"2014-01-01 05:45:00 0 176 \n", | |
"2014-01-01 06:00:00 0 181 \n", | |
"2014-01-01 06:15:00 0 183 \n", | |
"2014-01-01 06:30:00 0 186 \n", | |
"2014-01-01 06:45:00 0 188 \n", | |
"2014-01-01 07:00:00 0 190 \n", | |
"2014-01-01 07:15:00 0 188 \n", | |
"... ... ... \n", | |
"2015-07-31 16:30:00 2759 43 \n", | |
"2015-07-31 16:45:00 2579 45 \n", | |
"2015-07-31 17:00:00 2383 47 \n", | |
"2015-07-31 17:15:00 2171 49 \n", | |
"2015-07-31 17:30:00 1948 52 \n", | |
"2015-07-31 17:45:00 1718 54 \n", | |
"2015-07-31 18:00:00 1490 56 \n", | |
"2015-07-31 18:15:00 1267 58 \n", | |
"2015-07-31 18:30:00 1050 60 \n", | |
"2015-07-31 18:45:00 844 63 \n", | |
"2015-07-31 19:00:00 660 65 \n", | |
"2015-07-31 19:15:00 502 68 \n", | |
"2015-07-31 19:30:00 373 71 \n", | |
"2015-07-31 19:45:00 279 75 \n", | |
"2015-07-31 20:00:00 200 79 \n", | |
"2015-07-31 20:15:00 123 84 \n", | |
"2015-07-31 20:30:00 63 89 \n", | |
"2015-07-31 20:45:00 22 94 \n", | |
"2015-07-31 21:00:00 2 98 \n", | |
"2015-07-31 21:15:00 2 103 \n", | |
"2015-07-31 21:30:00 1 107 \n", | |
"2015-07-31 21:45:00 0 112 \n", | |
"2015-07-31 22:00:00 0 117 \n", | |
"2015-07-31 22:15:00 0 122 \n", | |
"2015-07-31 22:30:00 0 127 \n", | |
"2015-07-31 22:45:00 0 133 \n", | |
"2015-07-31 23:00:00 0 135 \n", | |
"2015-07-31 23:15:00 0 135 \n", | |
"2015-07-31 23:30:00 0 135 \n", | |
"2015-07-31 23:45:00 0 135 \n", | |
"\n", | |
"[55417 rows x 8 columns]" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"resultDataSet" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Example: Resample the timeseries data to 60minute\n", | |
"\n", | |
"Here we use Pandas' powerful timeseries functionality to resample the data to 60minute intervals " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>actual_tennet_pv</th>\n", | |
" <th>actual_tennet_wind</th>\n", | |
" <th>actual_transnetbw_pv</th>\n", | |
" <th>actual_transnetbw_wind</th>\n", | |
" <th>forecast_tennet_pv</th>\n", | |
" <th>forecast_tennet_wind</th>\n", | |
" <th>forecast_transnetbw_pv</th>\n", | |
" <th>forecast_transnetbw_wind</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>Timestamp</th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>2014-01-01 00:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 491</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 318</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 01:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 432</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 338</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 02:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 357</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 394</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 03:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 526</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 482</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 04:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 409</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 581</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 05:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 362</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 674</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 06:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 414</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 738</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 07:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 3</td>\n", | |
" <td> 364</td>\n", | |
" <td> 12</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 746</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 08:00:00</th>\n", | |
" <td> 240</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 124</td>\n", | |
" <td> 347</td>\n", | |
" <td> 568</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 123</td>\n", | |
" <td> 686</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 09:00:00</th>\n", | |
" <td> 1740</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 811</td>\n", | |
" <td> 288</td>\n", | |
" <td> 2910</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 740</td>\n", | |
" <td> 580</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 10:00:00</th>\n", | |
" <td> 4451</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2253</td>\n", | |
" <td> 289</td>\n", | |
" <td> 4778</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1976</td>\n", | |
" <td> 465</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 11:00:00</th>\n", | |
" <td> 6976</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 4309</td>\n", | |
" <td> 242</td>\n", | |
" <td> 5759</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 3116</td>\n", | |
" <td> 368</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 12:00:00</th>\n", | |
" <td> 8847</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 6028</td>\n", | |
" <td> 144</td>\n", | |
" <td> 5590</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 3849</td>\n", | |
" <td> 274</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 13:00:00</th>\n", | |
" <td> 9347</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 5952</td>\n", | |
" <td> 84</td>\n", | |
" <td> 4614</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 4053</td>\n", | |
" <td> 184</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 14:00:00</th>\n", | |
" <td> 7358</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 4639</td>\n", | |
" <td> 129</td>\n", | |
" <td> 3127</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 3226</td>\n", | |
" <td> 126</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 15:00:00</th>\n", | |
" <td> 3353</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2310</td>\n", | |
" <td> 162</td>\n", | |
" <td> 1504</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1633</td>\n", | |
" <td> 100</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 16:00:00</th>\n", | |
" <td> 513</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 394</td>\n", | |
" <td> 254</td>\n", | |
" <td> 171</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 371</td>\n", | |
" <td> 137</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 17:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1</td>\n", | |
" <td> 411</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 245</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 18:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 451</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 405</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 19:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 693</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 547</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 20:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 803</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 647</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 21:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 821</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 700</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 22:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 681</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 710</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-01 23:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 553</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 684</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-02 00:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 423</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 544</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-02 01:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 397</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 464</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-02 02:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 390</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 444</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-02 03:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 401</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 434</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-02 04:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 429</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 427</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2014-01-02 05:00:00</th>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 460</td>\n", | |
" <td> 0</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 455</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-30 18:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 3792</td>\n", | |
" <td> 152</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 4059</td>\n", | |
" <td> 239</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-30 19:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1507</td>\n", | |
" <td> 90</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1692</td>\n", | |
" <td> 200</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-30 20:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 333</td>\n", | |
" <td> 101</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 366</td>\n", | |
" <td> 170</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-30 21:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1</td>\n", | |
" <td> 251</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 6</td>\n", | |
" <td> 160</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-30 22:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 239</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 160</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-30 23:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 159</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 153</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 00:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 131</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 138</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 01:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 117</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 125</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 02:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 126</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 122</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 03:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 111</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 99</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 04:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 113</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 76</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 05:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1</td>\n", | |
" <td> 115</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 58</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 06:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 413</td>\n", | |
" <td> 150</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 439</td>\n", | |
" <td> 47</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 07:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2342</td>\n", | |
" <td> 161</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 2249</td>\n", | |
" <td> 40</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 08:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 5853</td>\n", | |
" <td> 80</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 5611</td>\n", | |
" <td> 40</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 09:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 9459</td>\n", | |
" <td> 78</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 9165</td>\n", | |
" <td> 40</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 10:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 12361</td>\n", | |
" <td> 53</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 12029</td>\n", | |
" <td> 49</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 11:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 14304</td>\n", | |
" <td> 60</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 14020</td>\n", | |
" <td> 67</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 12:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 15264</td>\n", | |
" <td> 79</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 15137</td>\n", | |
" <td> 83</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 13:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 15221</td>\n", | |
" <td> 76</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 15405</td>\n", | |
" <td> 100</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 14:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 14488</td>\n", | |
" <td> 112</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 14897</td>\n", | |
" <td> 129</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 15:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 13221</td>\n", | |
" <td> 110</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 13560</td>\n", | |
" <td> 152</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 16:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 10802</td>\n", | |
" <td> 131</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 11333</td>\n", | |
" <td> 170</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 17:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 7532</td>\n", | |
" <td> 131</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 8220</td>\n", | |
" <td> 202</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 18:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 4053</td>\n", | |
" <td> 167</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 4651</td>\n", | |
" <td> 237</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 19:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1682</td>\n", | |
" <td> 282</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 1814</td>\n", | |
" <td> 279</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 20:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 381</td>\n", | |
" <td> 409</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 408</td>\n", | |
" <td> 346</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 21:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 659</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 5</td>\n", | |
" <td> 420</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 22:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 917</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 499</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2015-07-31 23:00:00</th>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 925</td>\n", | |
" <td> NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td> 0</td>\n", | |
" <td> 540</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>13848 rows × 8 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" actual_tennet_pv actual_tennet_wind \\\n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 NaN \n", | |
"2014-01-01 01:00:00 0 NaN \n", | |
"2014-01-01 02:00:00 0 NaN \n", | |
"2014-01-01 03:00:00 0 NaN \n", | |
"2014-01-01 04:00:00 0 NaN \n", | |
"2014-01-01 05:00:00 0 NaN \n", | |
"2014-01-01 06:00:00 0 NaN \n", | |
"2014-01-01 07:00:00 0 NaN \n", | |
"2014-01-01 08:00:00 240 NaN \n", | |
"2014-01-01 09:00:00 1740 NaN \n", | |
"2014-01-01 10:00:00 4451 NaN \n", | |
"2014-01-01 11:00:00 6976 NaN \n", | |
"2014-01-01 12:00:00 8847 NaN \n", | |
"2014-01-01 13:00:00 9347 NaN \n", | |
"2014-01-01 14:00:00 7358 NaN \n", | |
"2014-01-01 15:00:00 3353 NaN \n", | |
"2014-01-01 16:00:00 513 NaN \n", | |
"2014-01-01 17:00:00 0 NaN \n", | |
"2014-01-01 18:00:00 0 NaN \n", | |
"2014-01-01 19:00:00 0 NaN \n", | |
"2014-01-01 20:00:00 0 NaN \n", | |
"2014-01-01 21:00:00 0 NaN \n", | |
"2014-01-01 22:00:00 0 NaN \n", | |
"2014-01-01 23:00:00 0 NaN \n", | |
"2014-01-02 00:00:00 0 NaN \n", | |
"2014-01-02 01:00:00 0 NaN \n", | |
"2014-01-02 02:00:00 0 NaN \n", | |
"2014-01-02 03:00:00 0 NaN \n", | |
"2014-01-02 04:00:00 0 NaN \n", | |
"2014-01-02 05:00:00 0 NaN \n", | |
"... ... ... \n", | |
"2015-07-30 18:00:00 NaN NaN \n", | |
"2015-07-30 19:00:00 NaN NaN \n", | |
"2015-07-30 20:00:00 NaN NaN \n", | |
"2015-07-30 21:00:00 NaN NaN \n", | |
"2015-07-30 22:00:00 NaN NaN \n", | |
"2015-07-30 23:00:00 NaN NaN \n", | |
"2015-07-31 00:00:00 NaN NaN \n", | |
"2015-07-31 01:00:00 NaN NaN \n", | |
"2015-07-31 02:00:00 NaN NaN \n", | |
"2015-07-31 03:00:00 NaN NaN \n", | |
"2015-07-31 04:00:00 NaN NaN \n", | |
"2015-07-31 05:00:00 NaN NaN \n", | |
"2015-07-31 06:00:00 NaN NaN \n", | |
"2015-07-31 07:00:00 NaN NaN \n", | |
"2015-07-31 08:00:00 NaN NaN \n", | |
"2015-07-31 09:00:00 NaN NaN \n", | |
"2015-07-31 10:00:00 NaN NaN \n", | |
"2015-07-31 11:00:00 NaN NaN \n", | |
"2015-07-31 12:00:00 NaN NaN \n", | |
"2015-07-31 13:00:00 NaN NaN \n", | |
"2015-07-31 14:00:00 NaN NaN \n", | |
"2015-07-31 15:00:00 NaN NaN \n", | |
"2015-07-31 16:00:00 NaN NaN \n", | |
"2015-07-31 17:00:00 NaN NaN \n", | |
"2015-07-31 18:00:00 NaN NaN \n", | |
"2015-07-31 19:00:00 NaN NaN \n", | |
"2015-07-31 20:00:00 NaN NaN \n", | |
"2015-07-31 21:00:00 NaN NaN \n", | |
"2015-07-31 22:00:00 NaN NaN \n", | |
"2015-07-31 23:00:00 NaN NaN \n", | |
"\n", | |
" actual_transnetbw_pv actual_transnetbw_wind \\\n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 491 \n", | |
"2014-01-01 01:00:00 0 432 \n", | |
"2014-01-01 02:00:00 0 357 \n", | |
"2014-01-01 03:00:00 0 526 \n", | |
"2014-01-01 04:00:00 0 409 \n", | |
"2014-01-01 05:00:00 0 362 \n", | |
"2014-01-01 06:00:00 0 414 \n", | |
"2014-01-01 07:00:00 3 364 \n", | |
"2014-01-01 08:00:00 124 347 \n", | |
"2014-01-01 09:00:00 811 288 \n", | |
"2014-01-01 10:00:00 2253 289 \n", | |
"2014-01-01 11:00:00 4309 242 \n", | |
"2014-01-01 12:00:00 6028 144 \n", | |
"2014-01-01 13:00:00 5952 84 \n", | |
"2014-01-01 14:00:00 4639 129 \n", | |
"2014-01-01 15:00:00 2310 162 \n", | |
"2014-01-01 16:00:00 394 254 \n", | |
"2014-01-01 17:00:00 1 411 \n", | |
"2014-01-01 18:00:00 0 451 \n", | |
"2014-01-01 19:00:00 0 693 \n", | |
"2014-01-01 20:00:00 0 803 \n", | |
"2014-01-01 21:00:00 0 821 \n", | |
"2014-01-01 22:00:00 0 681 \n", | |
"2014-01-01 23:00:00 0 553 \n", | |
"2014-01-02 00:00:00 0 423 \n", | |
"2014-01-02 01:00:00 0 397 \n", | |
"2014-01-02 02:00:00 0 390 \n", | |
"2014-01-02 03:00:00 0 401 \n", | |
"2014-01-02 04:00:00 0 429 \n", | |
"2014-01-02 05:00:00 0 460 \n", | |
"... ... ... \n", | |
"2015-07-30 18:00:00 3792 152 \n", | |
"2015-07-30 19:00:00 1507 90 \n", | |
"2015-07-30 20:00:00 333 101 \n", | |
"2015-07-30 21:00:00 1 251 \n", | |
"2015-07-30 22:00:00 0 239 \n", | |
"2015-07-30 23:00:00 0 159 \n", | |
"2015-07-31 00:00:00 0 131 \n", | |
"2015-07-31 01:00:00 0 117 \n", | |
"2015-07-31 02:00:00 0 126 \n", | |
"2015-07-31 03:00:00 0 111 \n", | |
"2015-07-31 04:00:00 0 113 \n", | |
"2015-07-31 05:00:00 1 115 \n", | |
"2015-07-31 06:00:00 413 150 \n", | |
"2015-07-31 07:00:00 2342 161 \n", | |
"2015-07-31 08:00:00 5853 80 \n", | |
"2015-07-31 09:00:00 9459 78 \n", | |
"2015-07-31 10:00:00 12361 53 \n", | |
"2015-07-31 11:00:00 14304 60 \n", | |
"2015-07-31 12:00:00 15264 79 \n", | |
"2015-07-31 13:00:00 15221 76 \n", | |
"2015-07-31 14:00:00 14488 112 \n", | |
"2015-07-31 15:00:00 13221 110 \n", | |
"2015-07-31 16:00:00 10802 131 \n", | |
"2015-07-31 17:00:00 7532 131 \n", | |
"2015-07-31 18:00:00 4053 167 \n", | |
"2015-07-31 19:00:00 1682 282 \n", | |
"2015-07-31 20:00:00 381 409 \n", | |
"2015-07-31 21:00:00 0 659 \n", | |
"2015-07-31 22:00:00 0 917 \n", | |
"2015-07-31 23:00:00 0 925 \n", | |
"\n", | |
" forecast_tennet_pv forecast_tennet_wind \\\n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 NaN \n", | |
"2014-01-01 01:00:00 0 NaN \n", | |
"2014-01-01 02:00:00 0 NaN \n", | |
"2014-01-01 03:00:00 0 NaN \n", | |
"2014-01-01 04:00:00 0 NaN \n", | |
"2014-01-01 05:00:00 0 NaN \n", | |
"2014-01-01 06:00:00 0 NaN \n", | |
"2014-01-01 07:00:00 12 NaN \n", | |
"2014-01-01 08:00:00 568 NaN \n", | |
"2014-01-01 09:00:00 2910 NaN \n", | |
"2014-01-01 10:00:00 4778 NaN \n", | |
"2014-01-01 11:00:00 5759 NaN \n", | |
"2014-01-01 12:00:00 5590 NaN \n", | |
"2014-01-01 13:00:00 4614 NaN \n", | |
"2014-01-01 14:00:00 3127 NaN \n", | |
"2014-01-01 15:00:00 1504 NaN \n", | |
"2014-01-01 16:00:00 171 NaN \n", | |
"2014-01-01 17:00:00 0 NaN \n", | |
"2014-01-01 18:00:00 0 NaN \n", | |
"2014-01-01 19:00:00 0 NaN \n", | |
"2014-01-01 20:00:00 0 NaN \n", | |
"2014-01-01 21:00:00 0 NaN \n", | |
"2014-01-01 22:00:00 0 NaN \n", | |
"2014-01-01 23:00:00 0 NaN \n", | |
"2014-01-02 00:00:00 0 NaN \n", | |
"2014-01-02 01:00:00 0 NaN \n", | |
"2014-01-02 02:00:00 0 NaN \n", | |
"2014-01-02 03:00:00 0 NaN \n", | |
"2014-01-02 04:00:00 0 NaN \n", | |
"2014-01-02 05:00:00 0 NaN \n", | |
"... ... ... \n", | |
"2015-07-30 18:00:00 NaN NaN \n", | |
"2015-07-30 19:00:00 NaN NaN \n", | |
"2015-07-30 20:00:00 NaN NaN \n", | |
"2015-07-30 21:00:00 NaN NaN \n", | |
"2015-07-30 22:00:00 NaN NaN \n", | |
"2015-07-30 23:00:00 NaN NaN \n", | |
"2015-07-31 00:00:00 NaN NaN \n", | |
"2015-07-31 01:00:00 NaN NaN \n", | |
"2015-07-31 02:00:00 NaN NaN \n", | |
"2015-07-31 03:00:00 NaN NaN \n", | |
"2015-07-31 04:00:00 NaN NaN \n", | |
"2015-07-31 05:00:00 NaN NaN \n", | |
"2015-07-31 06:00:00 NaN NaN \n", | |
"2015-07-31 07:00:00 NaN NaN \n", | |
"2015-07-31 08:00:00 NaN NaN \n", | |
"2015-07-31 09:00:00 NaN NaN \n", | |
"2015-07-31 10:00:00 NaN NaN \n", | |
"2015-07-31 11:00:00 NaN NaN \n", | |
"2015-07-31 12:00:00 NaN NaN \n", | |
"2015-07-31 13:00:00 NaN NaN \n", | |
"2015-07-31 14:00:00 NaN NaN \n", | |
"2015-07-31 15:00:00 NaN NaN \n", | |
"2015-07-31 16:00:00 NaN NaN \n", | |
"2015-07-31 17:00:00 NaN NaN \n", | |
"2015-07-31 18:00:00 NaN NaN \n", | |
"2015-07-31 19:00:00 NaN NaN \n", | |
"2015-07-31 20:00:00 NaN NaN \n", | |
"2015-07-31 21:00:00 NaN NaN \n", | |
"2015-07-31 22:00:00 NaN NaN \n", | |
"2015-07-31 23:00:00 NaN NaN \n", | |
"\n", | |
" forecast_transnetbw_pv forecast_transnetbw_wind \n", | |
"Timestamp \n", | |
"2014-01-01 00:00:00 0 318 \n", | |
"2014-01-01 01:00:00 0 338 \n", | |
"2014-01-01 02:00:00 0 394 \n", | |
"2014-01-01 03:00:00 0 482 \n", | |
"2014-01-01 04:00:00 0 581 \n", | |
"2014-01-01 05:00:00 0 674 \n", | |
"2014-01-01 06:00:00 0 738 \n", | |
"2014-01-01 07:00:00 0 746 \n", | |
"2014-01-01 08:00:00 123 686 \n", | |
"2014-01-01 09:00:00 740 580 \n", | |
"2014-01-01 10:00:00 1976 465 \n", | |
"2014-01-01 11:00:00 3116 368 \n", | |
"2014-01-01 12:00:00 3849 274 \n", | |
"2014-01-01 13:00:00 4053 184 \n", | |
"2014-01-01 14:00:00 3226 126 \n", | |
"2014-01-01 15:00:00 1633 100 \n", | |
"2014-01-01 16:00:00 371 137 \n", | |
"2014-01-01 17:00:00 0 245 \n", | |
"2014-01-01 18:00:00 0 405 \n", | |
"2014-01-01 19:00:00 0 547 \n", | |
"2014-01-01 20:00:00 0 647 \n", | |
"2014-01-01 21:00:00 0 700 \n", | |
"2014-01-01 22:00:00 0 710 \n", | |
"2014-01-01 23:00:00 0 684 \n", | |
"2014-01-02 00:00:00 0 544 \n", | |
"2014-01-02 01:00:00 0 464 \n", | |
"2014-01-02 02:00:00 0 444 \n", | |
"2014-01-02 03:00:00 0 434 \n", | |
"2014-01-02 04:00:00 0 427 \n", | |
"2014-01-02 05:00:00 0 455 \n", | |
"... ... ... \n", | |
"2015-07-30 18:00:00 4059 239 \n", | |
"2015-07-30 19:00:00 1692 200 \n", | |
"2015-07-30 20:00:00 366 170 \n", | |
"2015-07-30 21:00:00 6 160 \n", | |
"2015-07-30 22:00:00 0 160 \n", | |
"2015-07-30 23:00:00 0 153 \n", | |
"2015-07-31 00:00:00 0 138 \n", | |
"2015-07-31 01:00:00 0 125 \n", | |
"2015-07-31 02:00:00 0 122 \n", | |
"2015-07-31 03:00:00 0 99 \n", | |
"2015-07-31 04:00:00 0 76 \n", | |
"2015-07-31 05:00:00 0 58 \n", | |
"2015-07-31 06:00:00 439 47 \n", | |
"2015-07-31 07:00:00 2249 40 \n", | |
"2015-07-31 08:00:00 5611 40 \n", | |
"2015-07-31 09:00:00 9165 40 \n", | |
"2015-07-31 10:00:00 12029 49 \n", | |
"2015-07-31 11:00:00 14020 67 \n", | |
"2015-07-31 12:00:00 15137 83 \n", | |
"2015-07-31 13:00:00 15405 100 \n", | |
"2015-07-31 14:00:00 14897 129 \n", | |
"2015-07-31 15:00:00 13560 152 \n", | |
"2015-07-31 16:00:00 11333 170 \n", | |
"2015-07-31 17:00:00 8220 202 \n", | |
"2015-07-31 18:00:00 4651 237 \n", | |
"2015-07-31 19:00:00 1814 279 \n", | |
"2015-07-31 20:00:00 408 346 \n", | |
"2015-07-31 21:00:00 5 420 \n", | |
"2015-07-31 22:00:00 0 499 \n", | |
"2015-07-31 23:00:00 0 540 \n", | |
"\n", | |
"[13848 rows x 8 columns]" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"resultDataSet.resample('60Min',how='sum')" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.9" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment