{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Load the temperatures into a dataframe" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "nyc = pd.read_csv('nyc_avg_jan_1895-2021.csv')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateValueAnomaly
018950133.2-3.8
118960133.4-3.6
218970134.3-2.7
318980138.81.8
418990135.2-1.8
\n", "
" ], "text/plain": [ " Date Value Anomaly\n", "0 189501 33.2 -3.8\n", "1 189601 33.4 -3.6\n", "2 189701 34.3 -2.7\n", "3 189801 38.8 1.8\n", "4 189901 35.2 -1.8" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nyc.head()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateValueAnomaly
12220170142.85.8
12320180138.71.7
12420190139.02.0
12520200145.28.2
12620210139.72.7
\n", "
" ], "text/plain": [ " Date Value Anomaly\n", "122 201701 42.8 5.8\n", "123 201801 38.7 1.7\n", "124 201901 39.0 2.0\n", "125 202001 45.2 8.2\n", "126 202101 39.7 2.7" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nyc.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transform the data" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "nyc.Date = nyc.Date.floordiv(100)\n", "nyc.columns = ['Year', 'Temperature', 'Anomaly']" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearTemperatureAnomaly
0189533.2-3.8
1189633.4-3.6
2189734.3-2.7
\n", "
" ], "text/plain": [ " Year Temperature Anomaly\n", "0 1895 33.2 -3.8\n", "1 1896 33.4 -3.6\n", "2 1897 34.3 -2.7" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nyc.head(3)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearTemperatureAnomaly
124201939.02.0
125202045.28.2
126202139.72.7
\n", "
" ], "text/plain": [ " Year Temperature Anomaly\n", "124 2019 39.0 2.0\n", "125 2020 45.2 8.2\n", "126 2021 39.7 2.7" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nyc.tail(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Regression line " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "slope = 0.0301, intercept = -21.9953\n" ] } ], "source": [ "from scipy import stats\n", "\n", "linear_regression = stats.linregress(x=nyc.Year,\n", " y=nyc.Temperature)\n", "m = linear_regression.slope\n", "b = linear_regression.intercept\n", "\n", "print(f'slope = {m:.4f}, intercept = {b:.4f}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scatter plot and regression line with 95% confidence interval" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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WaP3ve99uvjii/XhD39YEj9TjbJkyRItXbpUR48e1bXXXqvrr79epmmW/zFT+tqTJew332tVyzzh6RA93W233abe3l5dc801Ou6449TW1qalS5dqYmKi/DkTExNqaWmpun9iYkKtra12LbvpzHSdpOKRnJ///Oc1MTGhL37xi5LEdbLRTNfp/vvv18GDB/WRj3xEP/3pT/UP//AP6u/v5zrZbKZrtXz5cv3e7/2ejj/+eC1ZskRnnXWWBgcHuVY2muk69ff3Kx6P68EHH1RfX5/+4z/+Q7/5zW+4Tg306quv6sMf/rD+/M//XP/1v/5X+XxT0an0tSdLOMN8rpVUuzzRVCH6F7/4hW677Tbt3LlThw8f1rve9S6dccYZevrpp5VOpzU+Pq59+/bp1FNP1Zlnnqlf/OIXkqT+/n694x3vsHn1zWOm62Sapj75yU/qrW99q7Zu3Sq/3y9JXCcbzXSd/sf/+B/60Y9+pO9973u6+OKL9dGPflRdXV1cJ5vNdK1OP/10PffccxoZGVEul9Mzzzyjk08+mWtlo5mu07JlyxSJRBQKhRQOh9XS0qKxsTGuU4O8/vrruvrqq/VXf/VXuuSSSyRJp512mp544glJxa/9WWedRZZwgPleq1rmicCcn+Ehb37zm3XNNdcoGo3q3HPP1fnnny9JuvLKK3XFFVfINE199rOfVTgc1ubNm7VlyxZt3rxZwWBQt99+u82rbx4zXacHHnhATz75pDKZjB555BFJ0uc+9zmuk41m+3maCdfJXrNdq7/8y7/Uxz72MUnFfsJTTz1VHR0dXCubzHadHn30UV122WXy+Xw688wz9a53vUvveMc7uE4N8M1vflNjY2O6++67dffdd0uSbrrpJn35y1/WHXfcoc7OTl144YXy+/1kCZvN91r9x3/8R83yhGGaplnXVwUAAAB4TFO1cwAAAAC1QIgGAAAALCJEAwAAABYRogEAAACLCNEAAACARYRoAHCJa6+9Vjt37iz/eWJiQhdeeKH27t1r46oAoDkx4g4AXGJkZER/8Rd/oW9961s6+eST1dPTo7e85S26+uqr7V4aADSdpjpsBQDcbMWKFbrlllt0880363Of+5yGh4f1iU98Qh/72MeUTqcVDoe1bds2rVmzRrfffrueffZZTUxMaN26ddq+fbvuuusu/frXv1YikdBf//Vfa926dXa/JABwLUI0ALjIBRdcoAceeEA33HCDfvCDH2j79u268sordf755+uxxx7T3/zN3+hLX/qSWltb9fd///cqFAp63/vep4MHD0qSOjs7dfPNN9v8KgDA/QjRAOAy73//+5VKpbRq1So999xz6u3t1be//W2ZpqlgMKhwOKyRkRF97nOfUywWUyKRUDablSSddNJJNq8eALyBEA0ALtbZ2amrr75aZ555pvbt26ennnpK/f39evXVV/XVr35VIyMjeuCBB1Ta/uLzsZ8cAGqBEA0ALrZlyxbdeuutSqfTSqVSuummm7R27VrdfffduuyyyxQKhdTR0aF4PG73UgHAU5jOAQAAAFjE+3oAAACARYRoAAAAwCJCNAAAAGARIRoAAACwiBANAAAAWESIBgAAACwiRAMAAAAWEaIBAAAAi/5/Saju3xBpXvkAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "sns.set_style('whitegrid')\n", "plt.figure(figsize=(12, 10))\n", "axes = sns.regplot(x=nyc.Year, y=nyc.Temperature)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Prediction temperatures" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def predict_temperature(m, b, x):\n", " return m*x + b" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The predicted temperature in year 2022 is 38.89\n" ] } ], "source": [ "year = 2022\n", "y_hat = predict_temperature(m, b, year)\n", "\n", "print(f'The predicted temperature in year {year} is {y_hat:.2f}')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "##########################################################################\n", "# (C) Copyright 2019 by Deitel & Associates, Inc. and #\n", "# Pearson Education, Inc. All Rights Reserved. #\n", "# #\n", "# DISCLAIMER: The authors and publisher of this book have used their #\n", "# best efforts in preparing the book. These efforts include the #\n", "# development, research, and testing of the theories and programs #\n", "# to determine their effectiveness. The authors and publisher make #\n", "# no warranty of any kind, expressed or implied, with regard to these #\n", "# programs or to the documentation contained in these books. The authors #\n", "# and publisher shall not be liable in any event for incidental or #\n", "# consequential damages in connection with, or arising out of, the #\n", "# furnishing, performance, or use of these programs. #\n", "##########################################################################" ] } ], "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.7.7" } }, "nbformat": 4, "nbformat_minor": 4 }