Master-Project/Notebooks/70_Server_result_analysis.ipynb
2021-06-01 20:46:48 +02:00

829 lines
95 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "18dcf635-3dea-4054-8567-296692757af1",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "98fd79c8-c47a-426b-98d1-fc94adaf75a2",
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"import gpflow"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "50d83b6a-604a-4416-bc51-c7d7377e9147",
"metadata": {},
"outputs": [],
"source": [
"import pickle"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "612d3146-a2c4-4018-9573-edddc307c834",
"metadata": {},
"outputs": [],
"source": [
"from helpers import get_scaled_df, data_to_gpr"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "dc95dc5f-b5ec-4563-a719-e0fc84201d92",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "27456734-f026-429f-a10e-b27142a46b49",
"metadata": {},
"outputs": [],
"source": [
"scaler = pickle.load(open(\"controller_scaler.pkl\", 'rb'))\n",
"model = pickle.load(open(\"controller_model.pkl\", 'rb'))\n",
"df = pd.read_pickle(\"controller_df.pkl\")\n",
"X_log = pickle.load(open(\"controller_X_log.pkl\", 'rb'))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "11fc2b92-5c79-40ff-8c3e-987143858e57",
"metadata": {},
"outputs": [],
"source": [
"t_cols = []\n",
"w_cols = ['SolRad', 'OutsideTemp']\n",
"u_cols = ['SimulatedHeat']\n",
"y_cols = ['SimulatedTemp']\n",
"\n",
"t_lags = 0\n",
"w_lags = 1\n",
"u_lags = 2\n",
"y_lags = 3\n",
"\n",
"dict_cols = {\n",
" 't': (t_lags, t_cols),\n",
" 'w': (w_lags, w_cols),\n",
" 'u': (u_lags, u_cols),\n",
" 'y': (y_lags, y_cols)\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "f882da29-3e5c-4262-a88e-7e52c1d7c3a5",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3.629534</td>\n",
" <td>-0.043478</td>\n",
" <td>0.467424</td>\n",
" <td>0.468231</td>\n",
" <td>0.814622</td>\n",
" <td>0.821869</td>\n",
" <td>0.829368</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3.554404</td>\n",
" <td>0.026087</td>\n",
" <td>0.472246</td>\n",
" <td>0.467424</td>\n",
" <td>0.843619</td>\n",
" <td>0.814622</td>\n",
" <td>0.821869</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3.455959</td>\n",
" <td>0.060870</td>\n",
" <td>0.372524</td>\n",
" <td>0.472246</td>\n",
" <td>0.878315</td>\n",
" <td>0.843619</td>\n",
" <td>0.814622</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3.357513</td>\n",
" <td>0.095652</td>\n",
" <td>0.300814</td>\n",
" <td>0.372524</td>\n",
" <td>0.878323</td>\n",
" <td>0.878315</td>\n",
" <td>0.843619</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3.259067</td>\n",
" <td>0.130435</td>\n",
" <td>0.249037</td>\n",
" <td>0.300814</td>\n",
" <td>0.878327</td>\n",
" <td>0.878323</td>\n",
" <td>0.878315</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>3.044041</td>\n",
" <td>0.160870</td>\n",
" <td>0.216228</td>\n",
" <td>0.249037</td>\n",
" <td>0.878321</td>\n",
" <td>0.878327</td>\n",
" <td>0.878323</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2.829016</td>\n",
" <td>0.191304</td>\n",
" <td>0.198559</td>\n",
" <td>0.216228</td>\n",
" <td>0.878326</td>\n",
" <td>0.878321</td>\n",
" <td>0.878327</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2.613990</td>\n",
" <td>0.221739</td>\n",
" <td>0.193012</td>\n",
" <td>0.198559</td>\n",
" <td>0.878315</td>\n",
" <td>0.878326</td>\n",
" <td>0.878321</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2.398964</td>\n",
" <td>0.252174</td>\n",
" <td>0.246331</td>\n",
" <td>0.193012</td>\n",
" <td>0.878319</td>\n",
" <td>0.878315</td>\n",
" <td>0.878326</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4 5 6\n",
"0 3.629534 -0.043478 0.467424 0.468231 0.814622 0.821869 0.829368\n",
"1 3.554404 0.026087 0.472246 0.467424 0.843619 0.814622 0.821869\n",
"2 3.455959 0.060870 0.372524 0.472246 0.878315 0.843619 0.814622\n",
"3 3.357513 0.095652 0.300814 0.372524 0.878323 0.878315 0.843619\n",
"4 3.259067 0.130435 0.249037 0.300814 0.878327 0.878323 0.878315\n",
"5 3.044041 0.160870 0.216228 0.249037 0.878321 0.878327 0.878323\n",
"6 2.829016 0.191304 0.198559 0.216228 0.878326 0.878321 0.878327\n",
"7 2.613990 0.221739 0.193012 0.198559 0.878315 0.878326 0.878321\n",
"8 2.398964 0.252174 0.246331 0.193012 0.878319 0.878315 0.878326"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(X_log[-1])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "af6d8095-e98c-4f1a-a145-aa939f4eff7b",
"metadata": {},
"outputs": [],
"source": [
"df_sc = get_scaled_df(df, dict_cols, scaler)\n",
"df_gpr = data_to_gpr(df_sc, dict_cols)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "b4dc8f43-b3f5-4c8d-bf61-3e54432dccd4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>SolRad</th>\n",
" <th>SolRad_1</th>\n",
" <th>OutsideTemp</th>\n",
" <th>OutsideTemp_1</th>\n",
" <th>SimulatedHeat</th>\n",
" <th>SimulatedHeat_1</th>\n",
" <th>SimulatedHeat_2</th>\n",
" <th>SimulatedTemp</th>\n",
" <th>SimulatedTemp_1</th>\n",
" <th>SimulatedTemp_2</th>\n",
" <th>SimulatedTemp_3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-1.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-0.791304</td>\n",
" <td>-0.791304</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>0.476810</td>\n",
" <td>0.556686</td>\n",
" <td>0.677723</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>-1.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-0.791304</td>\n",
" <td>-0.791304</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>0.412944</td>\n",
" <td>0.476810</td>\n",
" <td>0.556686</td>\n",
" <td>0.677723</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>-1.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-0.821739</td>\n",
" <td>-0.791304</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>0.357670</td>\n",
" <td>0.412944</td>\n",
" <td>0.476810</td>\n",
" <td>0.556686</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>-1.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-0.852174</td>\n",
" <td>-0.821739</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>0.308173</td>\n",
" <td>0.357670</td>\n",
" <td>0.412944</td>\n",
" <td>0.476810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>-1.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>-0.882609</td>\n",
" <td>-0.852174</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>-0.091754</td>\n",
" <td>0.263350</td>\n",
" <td>0.308173</td>\n",
" <td>0.357670</td>\n",
" <td>0.412944</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",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5136</th>\n",
" <td>3.559585</td>\n",
" <td>3.414508</td>\n",
" <td>-0.147826</td>\n",
" <td>-0.204348</td>\n",
" <td>0.491535</td>\n",
" <td>0.513060</td>\n",
" <td>0.538535</td>\n",
" <td>0.839457</td>\n",
" <td>0.849824</td>\n",
" <td>0.863174</td>\n",
" <td>0.875588</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5137</th>\n",
" <td>3.582902</td>\n",
" <td>3.559585</td>\n",
" <td>-0.113043</td>\n",
" <td>-0.147826</td>\n",
" <td>0.479890</td>\n",
" <td>0.491535</td>\n",
" <td>0.513060</td>\n",
" <td>0.829368</td>\n",
" <td>0.839457</td>\n",
" <td>0.849824</td>\n",
" <td>0.863174</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5138</th>\n",
" <td>3.606218</td>\n",
" <td>3.582902</td>\n",
" <td>-0.078261</td>\n",
" <td>-0.113043</td>\n",
" <td>0.468231</td>\n",
" <td>0.479890</td>\n",
" <td>0.491535</td>\n",
" <td>0.821869</td>\n",
" <td>0.829368</td>\n",
" <td>0.839457</td>\n",
" <td>0.849824</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5139</th>\n",
" <td>3.629534</td>\n",
" <td>3.606218</td>\n",
" <td>-0.043478</td>\n",
" <td>-0.078261</td>\n",
" <td>0.467424</td>\n",
" <td>0.468231</td>\n",
" <td>0.479890</td>\n",
" <td>0.814622</td>\n",
" <td>0.821869</td>\n",
" <td>0.829368</td>\n",
" <td>0.839457</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5140</th>\n",
" <td>3.652850</td>\n",
" <td>3.629534</td>\n",
" <td>-0.008696</td>\n",
" <td>-0.043478</td>\n",
" <td>0.467398</td>\n",
" <td>0.467424</td>\n",
" <td>0.468231</td>\n",
" <td>0.811382</td>\n",
" <td>0.814622</td>\n",
" <td>0.821869</td>\n",
" <td>0.829368</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5138 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" SolRad SolRad_1 OutsideTemp OutsideTemp_1 SimulatedHeat \\\n",
"3 -1.000000 -1.000000 -0.791304 -0.791304 -0.091754 \n",
"4 -1.000000 -1.000000 -0.791304 -0.791304 -0.091754 \n",
"5 -1.000000 -1.000000 -0.821739 -0.791304 -0.091754 \n",
"6 -1.000000 -1.000000 -0.852174 -0.821739 -0.091754 \n",
"7 -1.000000 -1.000000 -0.882609 -0.852174 -0.091754 \n",
"... ... ... ... ... ... \n",
"5136 3.559585 3.414508 -0.147826 -0.204348 0.491535 \n",
"5137 3.582902 3.559585 -0.113043 -0.147826 0.479890 \n",
"5138 3.606218 3.582902 -0.078261 -0.113043 0.468231 \n",
"5139 3.629534 3.606218 -0.043478 -0.078261 0.467424 \n",
"5140 3.652850 3.629534 -0.008696 -0.043478 0.467398 \n",
"\n",
" SimulatedHeat_1 SimulatedHeat_2 SimulatedTemp SimulatedTemp_1 \\\n",
"3 -0.091754 -0.091754 0.476810 0.556686 \n",
"4 -0.091754 -0.091754 0.412944 0.476810 \n",
"5 -0.091754 -0.091754 0.357670 0.412944 \n",
"6 -0.091754 -0.091754 0.308173 0.357670 \n",
"7 -0.091754 -0.091754 0.263350 0.308173 \n",
"... ... ... ... ... \n",
"5136 0.513060 0.538535 0.839457 0.849824 \n",
"5137 0.491535 0.513060 0.829368 0.839457 \n",
"5138 0.479890 0.491535 0.821869 0.829368 \n",
"5139 0.468231 0.479890 0.814622 0.821869 \n",
"5140 0.467424 0.468231 0.811382 0.814622 \n",
"\n",
" SimulatedTemp_2 SimulatedTemp_3 \n",
"3 0.677723 1.000000 \n",
"4 0.556686 0.677723 \n",
"5 0.476810 0.556686 \n",
"6 0.412944 0.476810 \n",
"7 0.357670 0.412944 \n",
"... ... ... \n",
"5136 0.863174 0.875588 \n",
"5137 0.849824 0.863174 \n",
"5138 0.839457 0.849824 \n",
"5139 0.829368 0.839457 \n",
"5140 0.821869 0.829368 \n",
"\n",
"[5138 rows x 11 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_gpr"
]
},
{
"cell_type": "markdown",
"id": "8c618dec-fd4e-4fbb-9a20-69ff57ce5192",
"metadata": {},
"source": [
"## Multistep prediction"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "cf601d07-0fff-4e2f-8ac8-9169f749b399",
"metadata": {},
"outputs": [],
"source": [
"df_input = df_gpr.drop(columns = dict_cols['w'][1] + dict_cols['u'][1] + dict_cols['y'][1])\n",
"df_output = df_gpr[dict_cols['y'][1]]"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "7f1858cc-c54b-4fb1-9f96-6f6e1e0ab9e4",
"metadata": {},
"outputs": [],
"source": [
"start_idx = 600\n",
"nb_predictions = 25\n",
"N_pred = 20"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "ea0a68ba-c4f4-463f-9ee1-474461086ebf",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fca6d2dbe80>]"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.plot(df_output.iloc[start_idx:start_idx + nb_predictions + N_pred], 'o-', label = 'measured', color = 'darkblue')"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "466c5e48-c0f1-4388-8509-201bdae017ad",
"metadata": {},
"outputs": [],
"source": [
"m = model"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "6e46108b-f600-4ed7-bfd2-ca1d50d44dcf",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"\n",
"y_name = dict_cols['y'][1][0]\n",
"for idx in range(start_idx, start_idx + nb_predictions):\n",
" df_iter = df_input.iloc[idx:(idx + N_pred)].copy()\n",
" for idxx in range(N_pred - 1):\n",
" idx_old = df_iter.index[idxx]\n",
" idx_new = df_iter.index[idxx+1]\n",
" mean, var = m.predict_f(df_iter.loc[idx_old, :].to_numpy().reshape(1, -1))\n",
" df_iter.loc[idx_new, f'{y_name}_1'] = mean.numpy().flatten()\n",
" for lag in range(2, dict_cols['y'][0] + 1):\n",
" df_iter.loc[idx_new, f\"{y_name}_{lag}\"] = df_iter.loc[idx_old, f\"{y_name}_{lag-1}\"]\n",
" \n",
" mean_iter, var_iter = m.predict_f(df_iter.to_numpy())\n",
" plt.plot(df_iter.index, mean_iter.numpy(), '.-', label = 'predicted', color = 'orange')\n",
"plt.plot(df_output.iloc[start_idx:start_idx + nb_predictions + N_pred], 'o-', label = 'measured', color = 'darkblue')\n",
"plt.title(f\"Prediction over {N_pred} steps\")\n",
"plt.savefig(f\"prediction_{N_pred}_steps.png\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "dd58711c-3eea-46d9-a4e4-0a2cd5475d85",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>SolRad</th>\n",
" <th>OutsideTemp</th>\n",
" <th>SimulatedHeat</th>\n",
" <th>SimulatedTemp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.00</td>\n",
" <td>-2.1</td>\n",
" <td>-5415.288115</td>\n",
" <td>23.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.00</td>\n",
" <td>-2.1</td>\n",
" <td>-5415.288115</td>\n",
" <td>17.702812</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.00</td>\n",
" <td>-2.1</td>\n",
" <td>-5415.288115</td>\n",
" <td>15.713357</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.00</td>\n",
" <td>-2.1</td>\n",
" <td>-5415.288115</td>\n",
" <td>14.400440</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.00</td>\n",
" <td>-2.1</td>\n",
" <td>-5415.288115</td>\n",
" <td>13.350697</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5136</th>\n",
" <td>440.00</td>\n",
" <td>1.6</td>\n",
" <td>30874.548732</td>\n",
" <td>20.361186</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5137</th>\n",
" <td>442.25</td>\n",
" <td>1.8</td>\n",
" <td>30150.065017</td>\n",
" <td>20.195354</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5138</th>\n",
" <td>444.50</td>\n",
" <td>2.0</td>\n",
" <td>29424.656508</td>\n",
" <td>20.072103</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5139</th>\n",
" <td>446.75</td>\n",
" <td>2.2</td>\n",
" <td>29374.426928</td>\n",
" <td>19.952978</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5140</th>\n",
" <td>449.00</td>\n",
" <td>2.4</td>\n",
" <td>29372.829496</td>\n",
" <td>19.899728</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5141 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" SolRad OutsideTemp SimulatedHeat SimulatedTemp\n",
"0 0.00 -2.1 -5415.288115 23.000000\n",
"1 0.00 -2.1 -5415.288115 17.702812\n",
"2 0.00 -2.1 -5415.288115 15.713357\n",
"3 0.00 -2.1 -5415.288115 14.400440\n",
"4 0.00 -2.1 -5415.288115 13.350697\n",
"... ... ... ... ...\n",
"5136 440.00 1.6 30874.548732 20.361186\n",
"5137 442.25 1.8 30150.065017 20.195354\n",
"5138 444.50 2.0 29424.656508 20.072103\n",
"5139 446.75 2.2 29374.426928 19.952978\n",
"5140 449.00 2.4 29372.829496 19.899728\n",
"\n",
"[5141 rows x 4 columns]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "48f85cab-889a-4a55-8fc9-3090a8b38bfc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df['OutsideTemp'].plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e66a6360-ac83-4448-830e-7af553e89222",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}