{ "cells": [ { "cell_type": "markdown", "id": "592290ed-e0aa-459a-83d3-25ae06a37e96", "metadata": {}, "source": [ "# Working with precipitation files in Python\n", "\n", "You will need to:\n", "- Import modules that are important to complete the work.\n", "- Load the files and \"understand\" them.\n", "- Join the files in a large matrix.\n", "- Compute statistics.\n", "- Save the files for later use.\n", "\n", "Optionally:\n", "- Create plots\n", "\n", "### Do not forget to run all cells in order, from top to bottom. Failing to do so may cause errors.\n", "### AI Large Language Models (such as deepseek) can help you a lot doing this." ] }, { "cell_type": "markdown", "id": "d33b8199-99f6-4d01-8f98-09c5e2fb5ded", "metadata": {}, "source": [ "## Modules\n", "\n", "Some useful modules are:\n", "- `pandas` (https://pandas.pydata.org/docs/getting_started/intro_tutorials/): to work with tabular data (including import and export). It is the \"Microsoft Excel\" of Python.\n", "- `matplotlib` (https://matplotlib.org/stable/plot_types/index.html): to create figures (plots).\n", "- `pathlib`: not as important. To handle folder and file paths.\n", "\n", "Some syntax examples:\n", "- `import pandas` (this imports the pandas module).\n", "- `import pandas as pd` (this will allow you to write `pd` in your code instead of `pandas` - just more practical).\n", "- `from pandas import read_csv` (this will allow you to import just the `read_csv` function and not the whole of `pandas`.\n", "- `import matplotlib.pyplot as plt` (now we are importing a submodule of `matplotlib` (`pyplot`) as `plt`).\n", "- `from matplotlib import pyplot as plt` (This is another way of doing it). \n" ] }, { "cell_type": "markdown", "id": "6c612e36-56c9-4168-9bb3-5e11aa2bdbc7", "metadata": {}, "source": [ "## Import modules" ] }, { "cell_type": "code", "execution_count": 1, "id": "92de681f-6dc6-4677-b726-3ea20f0c636b", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from pathlib import Path" ] }, { "cell_type": "markdown", "id": "cd3f8eb2-38a8-4588-9293-003498e59ae5", "metadata": {}, "source": [ "## Now let's read a CSV file\n", "... and see what it looks like.\n", "\n", "Specify where the file is with `Path`. \n", "`r'.\\'` means the path is relative to where this file (the code) is. \n", "Read the file with `with open(...) as ... :`\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "c72fb962-92e3-431a-9aa2-822b828d4b5b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"STATION\",\"DATE\",\"LATITUDE\",\"LONGITUDE\",\"ELEVATION\",\"NAME\",\"PRCP\",\"PRCP_ATTRIBUTES\",\"TMAX\",\"TMAX_ATTRIBUTES\",\"TMIN\",\"TMIN_ATTRIBUTES\"\n", "\"UKE00105909\",\"1959-12-31\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 111\",\",,E\",,\n", "\"UKE00105909\",\"1960-01-01\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 67\",\",I,E\",\" 94\",\",I,E\"\n", "\"UKE00105909\",\"1960-01-02\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 106\",\",,E\",\" 44\",\",,E\"\n", "\"UKE00105909\",\"1960-01-03\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 122\",\",,E\",\" 56\",\",,E\"\n", "\"UKE00105909\",\"1960-01-04\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 78\",\",,E\",\" 56\",\",,E\"\n", "\"UKE00105909\",\"1960-01-05\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 44\",\",I,E\",\" 61\",\",I,E\"\n", "\"UKE00105909\",\"1960-01-06\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 11\",\",,E\",\" -11\",\",,E\"\n", "\"UKE00105909\",\"1960-01-07\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 39\",\",,E\",\" -17\",\",,E\"\n", "\"UKE00105909\",\"1960-01-08\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 22\",\",,E\",\" -17\",\",,E\"\n", "\"UKE00105909\",\"1960-01-09\",\"52.2058\",\"-1.6031\",\"47.0\",\"WELLESBOURNE, UK\",,,\" 44\",\",,E\",\" -11\",\",,E\"\n" ] } ], "source": [ "file_path = Path(r'./Lab work/6606347/precipitation/UKE00105909.csv')\n", "\n", "with open(file_path, 'r', encoding='utf-8') as file:\n", " for i, line in enumerate(file):\n", " print(line.rstrip())\n", " if i >= 10:\n", " break" ] }, { "cell_type": "markdown", "id": "5bbb7793-d2b0-4e5a-9845-d8cd4f62595a", "metadata": {}, "source": [ "## Now let's read it with pandas\n", "\n", "It is really this easy!\n", "\n", "Check out the documentation here:\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html" ] }, { "cell_type": "code", "execution_count": 3, "id": "ff0c7d8c-1d1e-4ab2-9297-fd28f4a2bf57", "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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
STATIONDATELATITUDELONGITUDEELEVATIONNAMEPRCPPRCP_ATTRIBUTESTMAXTMAX_ATTRIBUTESTMINTMIN_ATTRIBUTES
0UKE001059091959-12-3152.2058-1.603147.0WELLESBOURNE, UKNaNNaN111.0,,ENaNNaN
1UKE001059091960-01-0152.2058-1.603147.0WELLESBOURNE, UKNaNNaN67.0,I,E94.0,I,E
2UKE001059091960-01-0252.2058-1.603147.0WELLESBOURNE, UKNaNNaN106.0,,E44.0,,E
3UKE001059091960-01-0352.2058-1.603147.0WELLESBOURNE, UKNaNNaN122.0,,E56.0,,E
4UKE001059091960-01-0452.2058-1.603147.0WELLESBOURNE, UKNaNNaN78.0,,E56.0,,E
.......................................
23376UKE001059092025-01-2752.2058-1.603147.0WELLESBOURNE, UK48.0,,E89.0,,E38.0,,E
23377UKE001059092025-01-2852.2058-1.603147.0WELLESBOURNE, UK16.0,,E78.0,,E47.0,,E
23378UKE001059092025-01-2952.2058-1.603147.0WELLESBOURNE, UK0.0,,E79.0,,E21.0,,E
23379UKE001059092025-01-3052.2058-1.603147.0WELLESBOURNE, UK48.0,,E80.0,,E-4.0,,E
23380UKE001059092025-01-3152.2058-1.603147.0WELLESBOURNE, UK0.0,,ENaNNaN4.0,,E
\n", "

23381 rows × 12 columns

\n", "
" ], "text/plain": [ " STATION DATE LATITUDE LONGITUDE ELEVATION \\\n", "0 UKE00105909 1959-12-31 52.2058 -1.6031 47.0 \n", "1 UKE00105909 1960-01-01 52.2058 -1.6031 47.0 \n", "2 UKE00105909 1960-01-02 52.2058 -1.6031 47.0 \n", "3 UKE00105909 1960-01-03 52.2058 -1.6031 47.0 \n", "4 UKE00105909 1960-01-04 52.2058 -1.6031 47.0 \n", "... ... ... ... ... ... \n", "23376 UKE00105909 2025-01-27 52.2058 -1.6031 47.0 \n", "23377 UKE00105909 2025-01-28 52.2058 -1.6031 47.0 \n", "23378 UKE00105909 2025-01-29 52.2058 -1.6031 47.0 \n", "23379 UKE00105909 2025-01-30 52.2058 -1.6031 47.0 \n", "23380 UKE00105909 2025-01-31 52.2058 -1.6031 47.0 \n", "\n", " NAME PRCP PRCP_ATTRIBUTES TMAX TMAX_ATTRIBUTES TMIN \\\n", "0 WELLESBOURNE, UK NaN NaN 111.0 ,,E NaN \n", "1 WELLESBOURNE, UK NaN NaN 67.0 ,I,E 94.0 \n", "2 WELLESBOURNE, UK NaN NaN 106.0 ,,E 44.0 \n", "3 WELLESBOURNE, UK NaN NaN 122.0 ,,E 56.0 \n", "4 WELLESBOURNE, UK NaN NaN 78.0 ,,E 56.0 \n", "... ... ... ... ... ... ... \n", "23376 WELLESBOURNE, UK 48.0 ,,E 89.0 ,,E 38.0 \n", "23377 WELLESBOURNE, UK 16.0 ,,E 78.0 ,,E 47.0 \n", "23378 WELLESBOURNE, UK 0.0 ,,E 79.0 ,,E 21.0 \n", "23379 WELLESBOURNE, UK 48.0 ,,E 80.0 ,,E -4.0 \n", "23380 WELLESBOURNE, UK 0.0 ,,E NaN NaN 4.0 \n", "\n", " TMIN_ATTRIBUTES \n", "0 NaN \n", "1 ,I,E \n", "2 ,,E \n", "3 ,,E \n", "4 ,,E \n", "... ... \n", "23376 ,,E \n", "23377 ,,E \n", "23378 ,,E \n", "23379 ,,E \n", "23380 ,,E \n", "\n", "[23381 rows x 12 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.read_csv(file_path)" ] }, { "cell_type": "markdown", "id": "21c8faa1-2887-4bbc-9f42-b98b03a5ba04", "metadata": {}, "source": [ "## We can provide more information to the reader too\n", "I wish to use the date as the row index. \n", "To parse the dates correctly as `datetime64[ns]` we use the `pd.to_datetime` function. \n", " You can find all about the format here: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior \n", "We also want to discard all columns beyond PRCP (precipitation)\n", "\n", "### Precipitation data from this source (GHCN-Daily) is stored in 0.1 mm/day. We must convert to mm/day." ] }, { "cell_type": "code", "execution_count": 4, "id": "721d1449-2268-48d0-a913-0eab358db221", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This station is UKE00105909\n" ] }, { "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", " \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", " \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", "
STATIONLATITUDELONGITUDEELEVATIONNAMEPRCP
DATE
1959-12-31UKE0010590952.2058-1.603147.0WELLESBOURNE, UKNaN
1960-01-01UKE0010590952.2058-1.603147.0WELLESBOURNE, UKNaN
1960-01-02UKE0010590952.2058-1.603147.0WELLESBOURNE, UKNaN
1960-01-03UKE0010590952.2058-1.603147.0WELLESBOURNE, UKNaN
1960-01-04UKE0010590952.2058-1.603147.0WELLESBOURNE, UKNaN
.....................
2025-01-27UKE0010590952.2058-1.603147.0WELLESBOURNE, UK4.8
2025-01-28UKE0010590952.2058-1.603147.0WELLESBOURNE, UK1.6
2025-01-29UKE0010590952.2058-1.603147.0WELLESBOURNE, UK0.0
2025-01-30UKE0010590952.2058-1.603147.0WELLESBOURNE, UK4.8
2025-01-31UKE0010590952.2058-1.603147.0WELLESBOURNE, UK0.0
\n", "

23381 rows × 6 columns

\n", "
" ], "text/plain": [ " STATION LATITUDE LONGITUDE ELEVATION NAME \\\n", "DATE \n", "1959-12-31 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "1960-01-01 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "1960-01-02 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "1960-01-03 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "1960-01-04 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "... ... ... ... ... ... \n", "2025-01-27 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "2025-01-28 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "2025-01-29 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "2025-01-30 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "2025-01-31 UKE00105909 52.2058 -1.6031 47.0 WELLESBOURNE, UK \n", "\n", " PRCP \n", "DATE \n", "1959-12-31 NaN \n", "1960-01-01 NaN \n", "1960-01-02 NaN \n", "1960-01-03 NaN \n", "1960-01-04 NaN \n", "... ... \n", "2025-01-27 4.8 \n", "2025-01-28 1.6 \n", "2025-01-29 0.0 \n", "2025-01-30 4.8 \n", "2025-01-31 0.0 \n", "\n", "[23381 rows x 6 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_data = pd.read_csv(file_path, index_col=1, usecols=[0, 1, 2, 3, 4, 5, 6])\n", "my_data.index = pd.to_datetime(my_data.index, format='%Y-%m-%d', errors='coerce')\n", "my_data.PRCP /= 10\n", "\n", "station = my_data.iloc[0, 0]\n", "print(f'This station is {station}')\n", "\n", "my_data" ] }, { "cell_type": "markdown", "id": "6050e1b2-d862-46c6-ab50-64f5f45ed18c", "metadata": {}, "source": [ "## Let's see what the data looks like\n", "Using matplotlib (included in pandas). \n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html" ] }, { "cell_type": "code", "execution_count": 5, "id": "7a9d26da-921c-4494-95a0-6783a427651d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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008/Vb9+/XTPPffoxz/+se655x69/fbb2rJli15//XVddtll4c8QOV4YHwAANAMXXHCBioqKwmc/pk+frrlz5+qdd97RsGHD1LNnT40dO1Ynn3yyrrnmmuN6X31mZsf1HnzFsfxKXiAR8G4X4Pj44osvtHnzZhUXFys1NfV4351mI9Lf67H8+5szHwAAwCnGBwAAcIrxAQAAnGJ8AAAApxgfAADAKcYHAKBZ89ibOhNeLP4+GR8AgGbp8KeCVldXH+d70rwc/vs81l9adyR+twsAoFlKSkpSVlaWKioqJEktW7aM+pet4WhmpurqalVUVCgrK0tJSUlf+3sxPgAAzVZeXp4khQcImi4rKyv89/p1MT4AAM2Wz+dTfn6+2rVrp5qamuN9dxJeSkpKk854HMb4AAA0e0lJSTH5lyZigxecAgAApxgfAADAKcYHAABwivEBAACcYnwAAACnGB8AAMApxgcAAHCK8QEAAJxifAAAAKcYHwAAwCnGBwAAcIrxAQAAnGJ8AAAApxgfAADAKcYHAABwivEBAACcYnwAAACnGB8AAMApxgcAAHCK8QEAAJxifAAAAKcYHwAAwCnGBwAAcIrxAQAAnGJ8AAAApxgfAADAKcYHAABwivEBAACcYnwAAACnGB8AAMApxgcAAHCK8QEAAJxifAAAAKcYHwAAwCnGBwAAcIrxAQAAnIr5+Dh48KB++tOfqri4WGlpaercubPuu+8+HTp0KNY3BQAAElByrL/h9OnT9bvf/U6PP/64evbsqZUrV+q6665TZmamxowZE+ubAwAACSbm4+Ptt9/W8OHDdf7550uSioqK9NRTT2nlypWxvikAAJCAYv60y3e+8x29/vrr+vDDDyVJ7777rpYuXarvfe97sb4pAACQgGJ+5mPcuHGqrKxUt27dlJSUpNraWk2ePFkjRoyo9/qhUEihUCj856qqqljfJQAA4CExP/Mxf/58Pfnkk5o7d65Wr16txx9/XA8++KAef/zxeq8/depUZWZmhr8KCwtjfZcAAICH+MzMYvkNCwsLde+992r06NHhyx544AE9+eST+uCDD466fn1nPgoLC1VZWamMjIxY3jXguCi69+UGj38y7XxH9wQA4qeqqkqZmZlR/fs75k+7VFdXy++ve0IlKSkp4lttA4GAAoFArO8GAADwqJiPj+9///uaPHmyOnbs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q1b09PT09PT0Husb49kzH+vWrdOQIUNUXV2tkpIS5ebmysxUUVGhN998U61atdKrr76qHj160NPT09PT03ukj0qTXjESR4MGDbIrrrii3he1hEIhGzFihA0aNIienp6enp7eQ300PDs+0tLS7P333494fO3atZaWlkZPT09PT0/voT4anv2QsezsbG3cuDHi8U2bNik7O5uenp6enp7eQ31UmjRd4mjixImWmZlpM2bMsNLSUisvL7dgMGilpaU2Y8YMy87OtkmTJtHT09PT09N7qI+GZ8eHmdm0adMsPz/ffD6f+f1+8/v95vP5LD8/36ZPn05PT09PT0/vwb4xnn23y5E2b96sYDAo6csPOSkuLqanp6enp6f3eB9JQowPAADQfHj2BadHWrJkiVauXFnnspUrV2rJkiX09PT09PT0Hu0javITNw74fD7r3r17ncu6detmfr+fnp6enp6e3qN9JJ7+ePXDNm/erJSUlDqXvf7666qpqaGnp6enp6f3aB8Jr/kAAABOJcSZjy1bttT5xTadOnWip6enp6en93gfUZOetImzhx56yAoKCsLvLz78fuOCggL75S9/SU9PT09PT+/BvjGeHR/33XefZWRk2LRp02zNmjW2fft2+/TTT23NmjU2bdo0y8zMtPvvv5+enp6enp7eQ300PDs+CgoK7Nlnn414/JlnnrH27dvT09PT09PTe6iPhmc/52PXrl068cQTIx7v2rWrdu/eTU9PT09PT++hPipNmi5xVFJSYldeeaXV1NQcdaympsZGjhxpJSUl9PT09PT09B7qo+HZt9quXbtWQ4cOVSgUUklJiXJzc+Xz+RQMBrVkyRIFAgEtXLhQPXv2pKenp6enp/dIHw3Pjg9J2rNnj5588kktX768zi+26d+/v0aOHKmMjAx6enp6enp6j/WN8fT4AAAAzY/nP2Rs7969WrVqVfhDTvLy8nTaaaepdevW9PT09PT09B7tG9SkV4zEUU1Njd1xxx2WlpZmPp/PAoGAtWjRwnw+n6WlpdmYMWPswIED9PT09PT09B7qo+HZ8XHHHXdYhw4dbN68ebZ79+7w5bt377Z58+ZZYWGhjRkzhp6enp6ent5DfTQ8Oz7atm1rr7/+esTjr732mrVt25aenp6enp7eQ300PPshY/v371fbtm0jHs/JydH+/fvp6enp6enpPdRHpUnTJY4uuOACGzx4sAWDwaOOBYNBGzJkiH3/+9+np6enp6en91AfDc+Oj61bt1qvXr0sOTnZevfubcOGDbNzzz3XevfubcnJyXbyySdbWVkZPT09PT09vYf6aHj6cz4OHTqkf/zjH/V+yMnQoUPl9zf8rBE9PT09PT29+74xnh4fAACg+fHsC04BAEDzlBDjo7i4WEOGDKlz2TnnnKPOnTvT09PT09PTe7SPxPMfry5J11xzjb71rW/Vueziiy/Wzp076enp6enp6T3aR8JrPgAAgFMJ8bQLAABoPjz9tMu2bds0a9YsLVu2LPxb9XJzczVgwACNGjVKhYWF9PT09PT09B7rG+PZp12WLl2q8847T4WFhRo6dKhyc3NlZqqoqNDChQtVVlamBQsWaODAgfT09PT09PQe6aPSpI8oi6PTTz/d7rzzzojH77zzTjv99NPp6enp6enpPdRHw7PjIzU11T744IOIx9evX2+pqan09PT09PT0Huqj4dkXnObn52vZsmURj7/99tvKz8+np6enp6en91AfDc++4PTuu+/WqFGjtGrVKg0ZMkS5ubny+XwKBoNauHCh/vCHP2jmzJn09PT09PT0Huqj0qTzJnE2b94869evnyUnJ5vP5zOfz2fJycnWr18/mz9/Pj09PT09Pb0H+8Z49t0uR6qpqQl/mlrbtm2VkpJCT09PT09P7/E+koQYHwAAoPnw7AtOJWnFihW68sorVVxcrLS0NLVs2VLFxcW68sortXLlSnp6enp6enoP9o3x7JmP5557Tj/84Q81ePBgDRs2rM6HnLz66qt6/fXX9fTTT2v48OH09PT09PT0Humj0uRXjcRJz549berUqRGPT5s2zXr06EFPT09PT0/voT4anh0fgUDANmzYEPH4Bx98YIFAgJ6enp6ent5DfTQ8+5qP//iP/9Bzzz0X8fjzzz+vzp0709PT09PT03uoj4ZnP2Tsvvvu0xVXXKE333wz/IttjvyQk1dffVXz5s2jp6enp6en91AflSadN4mzZcuW2eWXX24dO3a0Fi1aWIsWLaxjx452+eWX27Jly+jp6enp6ek92DfGs+92AQAAzZNnX/MBAACaJ8YHAABwivEBAACcYnwAAACnGB8AAMApz37OR2N27Nih3//+9/rZz37W4PW2bdumrKwstW7dus7lNTU1evvtt/Xd7343Yrtr1y699957OuWUU9SmTRvt3LlTjz76qEKhkC677DJ17979mO93586d9Y9//ENdunQ5pq6mpkYvv/yyNm7cqPz8fF188cVq1apVxOtv27ZNqampatu2rSTprbfe0u9+9ztt3bpVnTp10ujRo9W/f/+I/S9+8Qtdeuml6tSp0zHdzyO9+OKLWrlypc4991z1799fb7zxhh588EEdOnRIP/jBD3TzzTc32O/fv19PPfWUli5dqvLyciUlJam4uFgXXXSRBg8e3Ojt79u3T3PnztWyZcsUDAbl8/mUm5urgQMHasSIEQ3+/TWGxx+Pv8bw+Dsaj79v1uOvQU1+s+5xUlpaan6/P+Lx7du3W9++fc3v91tSUpJdffXVtmfPnvDxYDDYYP/OO+9YZmam+Xw+y87OtpUrV1pxcbF16dLFTjjhBEtLS7NVq1ZF7P/3f/+33q+kpCQbP358+M+R9O/f33bv3m1mZhUVFXbSSSdZixYtrEuXLpaammodO3a0bdu2Ndj//e9/NzOz5557zvx+v1144YU2btw4u/jiiy0lJcVefPHFiL3P57OkpCQ755xzbN68eRYKhSJetz6zZs2y5ORk69Onj2VkZNiTTz5p6enpduONN9ott9xiaWlpNnPmzIj9xo0brVOnTpaTk2P5+fnm8/ns/PPPt379+llSUpJddtllVlNTE7F///33rX379paVlWXDhw+3m2++2W666SYbPny4ZWVlWYcOHez9998/pp/pSDz+ePzx+OPxF8k3/fEXDc+Oj3fffbfBr/nz5zf4w1999dV2xhln2IoVK2zhwoV2+umnW58+feyzzz4zsy//4fP5fBH7c845x2688UarqqqyGTNmWEFBgd14443h4zfccINddNFFEXufz2cFBQVWVFRU58vn81mHDh2sqKjIiouLG+x37NhhZmY33XST9e7d28rLy83MbOfOnTZgwAC7/vrrI/bp6em2efNmMzPr16+fTZs2rc7xhx9+2E499dQGb3/OnDk2fPhwS0lJsZycHBszZoytXbs2YnOk7t272yOPPGJmZm+88Yalpqbab37zm/DxOXPmWPfu3SP25513nt1yyy1WW1trZmZTp0618847z8zMPvzwQysqKrKJEydG7AcNGmRXXHFFvf+jEQqFbMSIETZo0KCIPY8/Hn88/nj88fj7eo+/aHh2fPh8PvP7/ebz+Y76Onx5Qz98+/bt7Z133gn/+YsvvrDhw4db7969bdeuXY0u/+zsbFu3bp2ZmR04cMD8fn+d77d69Wrr0KFDxP7mm2+23r17h7/HYcnJyVEtziP/4evatau99NJLdY4vWrTIioqKIvaZmZn27rvvmplZu3btwv/5sE2bNlnLli2juv0dO3bY9OnTrVu3bub3+61v3772yCOPWFVVVcQ+LS3NtmzZEv5zSkpKnX9wN2/e3ODtt2zZ0j788MPwn0OhkKWkpNjOnTvN7Mv/N9PQz5+Wltbg3/PatWstLS0t4nEefzz+ePzx+DPj8fd1Hn/R8OwLTnNycjR79mxt3rz5qK+PP/5YL730UoN9ZWWlsrOzw38OBAL661//qqKiIp111lmqqKhosD9w4IDS0tIkSSkpKWrZsmX4+cPD92/Xrl0R+9///veaOHGihg0bpl//+tfR/MhH8fl8kqTPP/9cxcXFdY4VFxervLw8YltSUqKnnnpKknTqqadq8eLFdY4vWrRIHTp0iOp+tGvXTvfcc4/Wr1+vxYsXq0ePHrrrrruUn58fscnJydGWLVskSdu3b9fBgwe1devW8PEtW7aoTZs2EfusrCzt2bMn/Ofq6modPHhQLVq0kCSdfPLJDf782dnZ2rhxY8TjmzZtqvP4qO/+8/jj8XcYjz8efzz+on/8RaVJ0yWOhg0bZvfff3/E46WlpQ2eNjzppJPsr3/961GX19TU2EUXXWQdO3ZscLl169bNXn/99fCfX3rpJauurg7/efny5VZQUNDYj2Hbtm2zs88+284991wrLy8/puX/ve99zy6++GLLzs4OP3952Ntvv225ubkR+3Xr1llOTo5dffXVdv/991vr1q3tqquussmTJ9vVV19tgUDA5syZE7H3+/3h5V+fysrK8GnF+owePdq6dOliDzzwgH3729+2a665xrp162YLFiywV155xU466aQGT5tec801VlJSYuvXr7ePP/7YLr/88jqnSRcvXmyFhYUR+4kTJ1pmZqbNmDHDSktLrby83ILBoJWWltqMGTMsOzvbJk2aFLHn8cfjj8cfj79IePw1/PiLhmfHxzPPPGN/+tOfIh7/7LPP7LHHHot4/J577rGhQ4fWe6ympsYuvPDCBv/h+/nPf25PPfVUxOM/+clP7Ac/+EHE40c6dOiQTZkyxfLy8iwpKSmqf/iuvfbaOl9PP/10neN33323DRs2rMHvsWnTJrviiissPT09fMosJSXFBgwYYM8++2yD7ZGnHb+OvXv32o033mi9evWyUaNG2YEDB2zGjBnWokUL8/l8NmjQoAa//44dO+yMM84In94rKiqy1atXh4//5S9/sV/96lcN3odp06aFX6zl9/vDpwvz8/Nt+vTpDbY8/nj88fjj8fd1fdMff9Fotr9Y7uDBg6qurlZGRka9x2tra7Vt27av/Vaq6upqJSUlKRAIRN2sWrVKS5cu1dVXX93gKa9o7Nu3T0lJSUpNTW30umamiooKHTp0SG3btlVKSkqTbrspvvjiC9XU1Cg9PT2q62/cuFGhUEjdunVTcvLXe2f45s2bFQwGJUl5eXlHncKNBx5//x+PPx5/Eo8/6Zvz+ItGsx0fAADAmzz7glPpyw+KmTBhgs466yx1795dPXr00FlnnaUJEyaorKwsYfuf/vSnCX3/E6VvSFlZma6//np6+rj1+/fv19KlS7Vu3bqjjn3xxRd64okn6Onj1q9fv15z5szRBx98IEn64IMPdOutt+r666/XG2+80WAbi75RTXrSJo7eeusta926tXXv3t3GjBljU6ZMscmTJ9uYMWOsR48elp6ebkuXLqWn/1qa+iE59PQN9Rs2bLBOnTqFn28vKSmx7du3h4839lZXevqm9AsWLLAWLVpYmzZtLDU11RYsWGDf+ta37JxzzrHBgwdbcnJynRcUx7qPhmefdunbt6++853v6Je//GW9x++66y4tXbpUK1asoKc/ygsvvFDv5Yd9/PHH+vGPf6za2lp6+pj3F198sQ4ePKg5c+bo888/19ixY/Wvf/1LixcvVseOHbVjxw61b9+enj4u/YABA3T22WfrgQce0Lx583Tbbbfp1ltv1eTJkyVJEyZM0IoVK/Tqq6/GpY9Kk6ZLHKWmptoHH3wQ8fj69estNTWVnr5eDX1IzpEflkNPH4++Xbt29t5779W57LbbbrOOHTvaRx991Oj/c6Wnb0qfkZFhGzduNDOz2tpaS05OrvNx+GvXrm3wrcpN7aPh2dd85Ofna9myZRGPv/322w1+yAs9/d/+9jcdOnSo3q/Vq1dHbOnpm9rv37//qHcn/OY3v9GFF16okpISffjhh/T0ceuP5Pf7lZqaqqysrPBl6enpqqysdNJH4tnfanv33Xdr1KhRWrVqlYYMGaLc3Fz5fD4Fg0EtXLhQf/jDHzRz5kx6+nr16dNHq1ev1kUXXVTvcZ/PJ2vgGUd6+qb03bp108qVK4/6za8PP/ywzEwXXnhhxJaevql9UVGRNm3apBNOOEHSl/9nrWPHjuHjZWVlDf6ft6b2UWnSeZM4mzdvnvXr18+Sk5PDpzqTk5OtX79+Nn/+fHr6iJYsWWILFiyIeHzv3r22ePFievq49FOmTAn/IrD63HrrrebzRf6ESHr6pvSzZs066vfhHOknP/mJ3XDDDXHro+HZF5weqaamRjt37pSkr/UhMfTf7B4A4C2efc3HkVJSUpSfn6/FixfrwIED9PRfy1NPPaV9+/bR09PT0zvuj9Kk8yaOpaen20cffURPT09PT0+fQP1XJcSZj8Osic8Q0dPT09PT07vvvyqhxgcAAGgGYnYOxYG33nrLvvjiC3p6enp6evoE6r8qId7tAgAAmo+Efdpl/fr16ty5Mz09PT09PX0C9VICj48DBw5oy5Yt9PT09PT09AnUSx7+ePWxY8c2ePzf//43PT09PT09vcf6aHj2NR9JSUnq3bu3MjIy6j2+d+9erV69OuKvFKanp6enp6d330clZi9djbETTzzR/vSnP0U8vmbNmgZ/pTA9PT09PT29+z4ann3NR58+fbRq1aqIx6P5rZT09PT09PT0bvtoePZpl2AwqFAopE6dOtHT09PT09MnSB8Nz44PAADQPHn23S5H2rJli4LBoHw+n3Jzc495jdHT09PT09O77yNq0itG4uyhhx6ygoIC8/v95vP5zOfzmd/vt4KCAvvlL39JT09PT09P78G+MZ4dH/fdd59lZGTYtGnTbM2aNbZ9+3b79NNPbc2aNTZt2jTLzMy0+++/n56enp6ent5DfTQ8Oz4KCgrs2WefjXj8mWeesfbt29PT09PT09N7qI+GZ99qu2vXLp144okRj3ft2lW7d++mp6enp6en91AflSZNlzgqKSmxK6+80mpqao46VlNTYyNHjrSSkhJ6enp6enp6D/XR8OxbbdeuXauhQ4cqFAqppKREubm58vl8CgaDWrJkiQKBgBYuXKiePXvS09PT09PTe6SPhmfHhyTt2bNHTz75pJYvX65gMChJysvLU//+/TVy5MiInztPT09PT09Pf/z6xnh6fAAAgObHsy84rc/555+v8vJyenp6enp6+gTqj9KkV4w41rp1a/voo4/o6enp6enpE6j/qoQ68wEAABJfQo2PTp06KSUlhZ6enp6enj6B+q/iBacAAMCphDrzsXv3bq1YsULbtm2jp6enp6enT5D+KDF79UiMjR8/3vbt22dmZgcOHLCbbrop/Nv1/H6/XXzxxbZ//356enp6enp6D/XR8Oz48Pv9tmPHDjMzmzx5sn3rW9+yv/3tb/bpp5/aiy++aB06dLD77ruPnp6enp6e3kN9NDw7Pnw+X/iH7927tz366KN1js+fP9+6d+9OT09PT09P76E+Gp4eHxUVFWZmlpOTY2vXrq1zfPPmzdayZUt6enp6enp6D/XRSI7NK0fiY/bs2WrdurUCgcBRv763srJSgUCAnp6enp6e3mN9Yzw7Pjp27KjZs2dLklq0aKHVq1frzDPPDB9ftGiRTjzxRHp6enp6enoP9dFI2M/5WL58uQKBgE499VR6enp6enr6BOmlBB4fAAAgMSXUh4wdaffu3XriiSfo6enp6enpE6iX5N0PGWtMaWmp+f1+enp6enp6+gTqzTz8bpeqqqoGj+/Zs4eenp6enp7eY300PPuaD7/fL5/PF/G4mcnn86m2tpaenp6enp7eI300PHvmIz09XRMmTFC/fv3qPb5x40bdcsst9PT09PT09B7qo+HZ8XHaaadJkkpKSuo9npWVpYZO2tDT09PT09O776Ph2Xe7jBw5UqmpqRGP5+XlaeLEifT09PT09PQe6qPh2dd8AACA5smzZz4AAEDz5NnXfEjSvn37NHfuXC1btkzBYFA+n0+5ubkaOHCgRowYoVatWtHT09PT09N7rG+MZ592WbdunYYMGaLq6mqVlJQoNzdXZqaKigq9+eabatWqlV599VX16NGDnp6enp6e3iN9VBr5ELLjZtCgQXbFFVdYKBQ66lgoFLIRI0bYoEGD6Onp6enp6T3UR8Oz4yMtLc3ef//9iMfXrl1raWlp9PT09PT09B7qo+HZF5xmZ2dr48aNEY9v2rRJ2dnZ9PT09PT09B7qo9Kk6RJHEydOtMzMTJsxY4aVlpZaeXm5BYNBKy0ttRkzZlh2drZNmjSJnp6enp6e3kN9NDw7PszMpk2bZvn5+ebz+czv95vf7zefz2f5+fk2ffp0enp6enp6eg/2jfHsu12OtHnzZgWDQUlffrJacXExPT09PT09vcf7SBJifAAAgObDsy84laT9+/dr6dKlWrdu3VHHvvjiCz3xxBP09PT09PT0Husb1eQnbuJkw4YN1qlTp/DzTSUlJbZ9+/bw8WAwaH6/n56enp6ent5DfTQ8e+Zj3LhxOumkk1RRUaENGzYoIyNDAwcO1NatW+np6enp6ek92kelSdMljtq1a2fvvfdenctuu+0269ixo3300UeNLi96enp6enp69300PDs+0tPTbd26dUddfvvtt1tBQYEtWbKkwR+enp6enp6e3n0fDc+Oj759+9oTTzxR77HRo0dbVlZWgz88PT09PT09vfs+Gp4dH1OmTLHzzjsv4vFbb73VfD4fPT09PT09vYf6aPA5HwAAwCnPvtsFAAA0T4wPAADgFOMDAAA4xfgAAABOMT4AAIBTjA8Ax+Taa6+Vz+eTz+dTSkqKcnNzNWTIEP3xj3/UoUOHjrr+0KFDlZSUpOXLl0uSPvnkk3Af6evnP/95g9c7/L0AJCbeagvgmFx77bXasWOH5syZo9raWu3YsUOvvPKKpk6dqjPPPFMvvPCCkpOTJUlbt25Vz549df3116u6ulqzZ89WbW2t/v3vf4e/34MPPqhXXnlFr732Wviy1q1ba+fOnSouLtZrr72mnj171rkPOTk5SklJcfMDA4i55ON9BwAknkAgoLy8PElShw4ddNppp+mMM87Q4MGD9dhjj+nGG2+UJM2ZM0cXXHCBbr31Vn3729/WzJkz1apVq3ArfTk0kpOT61wmSTt37pT05dD46jEAiY2nXQDExNlnn61TTjlFzzzzjCTJzDRnzhxdddVV6tatm7p27aqnn376ON9LAF7A+AAQM926ddMnn3wiSXrttddUXV2tYcOGSZKuuuoqPfroo8f8PQcMGKDWrVvX+aqtrY3l3QbgGE+7AIgZM5PP55MkPfroo7r88svDr/8YMWKE/uu//ksbNmzQiSeeGPX3nD9/vrp3717nsqSkpNjdaQDOMT4AxMz69etVXFyszz77TM8995xqamo0a9as8PHa2lr98Y9/1PTp06P+noWFhTrhhBPicXcBHCc87QIgJt544w2tXbtWl1xyif785z+roKBA7777rkpLS8NfM2fO1OOPP66DBw8e77sL4DjizAeAYxYKhRQMBo96q+0FF1ygq6++Wn369NGll16qXr161ek6deqkcePG6eWXX9bw4cOjuq1du3YpGAzWuSwrK0upqakx+3kAuMWZDwDH7JVXXlF+fr6Kiop07rnnatGiRfrVr36l559/XqWlpXr33Xd1ySWXHNWlp6dr6NChx/TC03POOUf5+fl1vp577rkY/jQAXONDxgAAgFOc+QAAAE4xPgAAgFOMDwAA4BTjAwAAOMX4AAAATjE+AACAU4wPAADgFOMDAAA4xfgAAABOMT4AAIBTjA8AAOAU4wMAADj1/wAaMO7jFrJMKAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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wsJKnO/o0aPo2rWr8buhem3s2LH49NNPcfr0aXzxxRe4du0aQkND0bVrV6xfvx4VK1Y0LpOZmQmtyctuO3TogHXr1uGtt97C22+/jYceegjr169H27ZtHY6fiIiIyBGKGUdKSTiOFBERkfqoYhypOnXqYO7cucjMzHRHPERERESqITkjNX36dGzduhV169ZFz549sW7dOrc0LCciIiJSOskZqUmTJuHYsWM4duwYYmJiMHnyZISGhuLll1/G8ePH3REjERERkSK53Ebq3r17+OSTT/D666/j3r17aNy4MaZMmYJnnnnG7iCYSsY2UkREROrjjee30yOb37t3D5s3b8aqVauwc+dOtGvXDnFxcbh06RLefPNN7Nq1C19++aWcsRIREREpiuSM1PHjx7Fq1SqsXbsWfn5+GD16NBYuXIiGDRsa5+nVqxc6deoka6BERERESiM5I9W6dWv07NkTn376KQYNGoSyZcsWmycmJgYjRoyQJUAiIiIipZKckfrtt98QGRlpd57y5ctj1apVTgdFREREpAaSe+2VlIkiIiIiKi0kl0gVFhZi4cKF2LBhAzIzM3H37l2z3//66y/ZgiMiIiJSMsklUnPmzMGCBQswbNgw5OXlYdq0aRg8eDC0Wi1mz57thhCJiIiIlElyRmrNmjX47LPP8Oqrr6JMmTJ46qmnsGLFCvztb3/DoUOH3BEjERERkSJJzkjl5uaiSZMmAIAKFSogLy8PANCvXz9s375d3uiIiIiIFExyRio8PBw5OTkAgHr16uH7778HABw5cgQ6nU7e6IiIiIgUTHJG6oknnsDu3bsBAFOmTMHbb7+N6OhojBkzBuPHj5c9QCIiIiKlcvlde4cOHcKBAwdQr149DBgwQK64vIrv2iMiIlIfVb1rz6Bdu3Zo166dHLEQERERqYpDGalt27Y5vEJfKZUiIpJNdjaQlgZERwPh4d6Ohohk5FBGatCgQWbfNRoNLGsENRoNAP2AnURE9P8SE4HnnweKigCtFli+HIiL83ZURCQThxqbFxUVGT/ff/89mjdvjh07duDatWvIy8vDjh070LJlS3z77bfujpeISD2ysx9kogD9vy+8oJ9ORD5BchupqVOnYunSpXjssceM02JjYxEYGIjnn38e586dkzVAIiLVSkt7kIkyKCwELlxgFR+RnAzV5yEhHt+05IzUr7/+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "my_data.iloc[:, [-1]].plot()\n", "\n", "my_data.loc['2015-01-01':'2015-01-31', ['PRCP']].plot(kind='bar')\n", "\n", "ax = my_data.loc['2015-01-01':'2016-01-01', ['PRCP']].plot(linestyle=' ', marker='.', color='red')\n", "_ = ax.set_xlabel('Date')\n", "_ = ax.set_ylabel('Precipitation [mm/day]')\n" ] }, { "cell_type": "markdown", "id": "fd3f6a02-4467-41c1-bcdb-6f8213a47b4b", "metadata": {}, "source": [ "## Let's now aggregate to yearly\n", "We can use the `pd.resample` function: \n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.resample.html\n", "\n", "`my_data.loc[:, ['PRCP']].resample('YS-APR').sum(min_count=365)` \n", "This will focus on the \"PRCP\" column (`,loc()`) \n", "and resample based on a sum of all values on a yearly basis, with start in april `YS-APR` (just an example). \n", "Also, we do a sum that only returns values if there are at least 365 entries `.sum(min_count=365)`. \n", "Finally, all missing data are dropped (`.dropna()`).\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "0babc4e9-c8d1-4302-890e-0fd039adac4f", "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", " \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", " \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", " \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", " \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", " \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", "
PRCP
DATE
1961-04-01542.9
1962-04-01469.6
1963-04-01530.4
1964-04-01485.8
1965-04-01664.4
1966-04-01677.6
1968-04-01749.4
1969-04-01626.6
1970-04-01593.6
1971-04-01645.2
1972-04-01434.4
1973-04-01544.8
1974-04-01593.5
1975-04-01353.7
1976-04-01653.4
1977-04-01610.6
1978-04-01621.1
1979-04-01646.0
1980-04-01712.6
1981-04-01660.8
1982-04-01577.7
1983-04-01647.9
1984-04-01555.8
1985-04-01667.8
1986-04-01593.2
1987-04-01718.3
1988-04-01530.1
1989-04-01658.3
1990-04-01487.2
1991-04-01498.7
1992-04-01715.7
1993-04-01716.5
1994-04-01673.3
1995-04-01445.4
1996-04-01398.4
1997-04-01632.7
1998-04-01720.6
1999-04-01724.4
2000-04-01848.4
2001-04-01661.0
2002-04-01665.9
2003-04-01492.9
2004-04-01619.9
2006-04-01781.9
2007-04-01718.8
2008-04-01776.1
2009-04-01639.1
2010-04-01498.7
2011-04-01366.9
2014-04-01696.4
2015-04-01640.6
2016-04-01572.8
2017-04-01622.6
2018-04-01454.8
2019-04-01810.8
2020-04-01703.8
2021-04-01548.8
2023-04-01897.8
\n", "
" ], "text/plain": [ " PRCP\n", "DATE \n", "1961-04-01 542.9\n", "1962-04-01 469.6\n", "1963-04-01 530.4\n", "1964-04-01 485.8\n", "1965-04-01 664.4\n", "1966-04-01 677.6\n", "1968-04-01 749.4\n", "1969-04-01 626.6\n", "1970-04-01 593.6\n", "1971-04-01 645.2\n", "1972-04-01 434.4\n", "1973-04-01 544.8\n", "1974-04-01 593.5\n", "1975-04-01 353.7\n", "1976-04-01 653.4\n", "1977-04-01 610.6\n", "1978-04-01 621.1\n", "1979-04-01 646.0\n", "1980-04-01 712.6\n", "1981-04-01 660.8\n", "1982-04-01 577.7\n", "1983-04-01 647.9\n", "1984-04-01 555.8\n", "1985-04-01 667.8\n", "1986-04-01 593.2\n", "1987-04-01 718.3\n", "1988-04-01 530.1\n", "1989-04-01 658.3\n", "1990-04-01 487.2\n", "1991-04-01 498.7\n", "1992-04-01 715.7\n", "1993-04-01 716.5\n", "1994-04-01 673.3\n", "1995-04-01 445.4\n", "1996-04-01 398.4\n", "1997-04-01 632.7\n", "1998-04-01 720.6\n", "1999-04-01 724.4\n", "2000-04-01 848.4\n", "2001-04-01 661.0\n", "2002-04-01 665.9\n", "2003-04-01 492.9\n", "2004-04-01 619.9\n", "2006-04-01 781.9\n", "2007-04-01 718.8\n", "2008-04-01 776.1\n", "2009-04-01 639.1\n", "2010-04-01 498.7\n", "2011-04-01 366.9\n", "2014-04-01 696.4\n", "2015-04-01 640.6\n", "2016-04-01 572.8\n", "2017-04-01 622.6\n", "2018-04-01 454.8\n", "2019-04-01 810.8\n", "2020-04-01 703.8\n", "2021-04-01 548.8\n", "2023-04-01 897.8" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "yearly_data = my_data.loc[:, ['PRCP']].resample('YS-APR').sum(min_count=365).dropna()\n", "yearly_data" ] }, { "cell_type": "markdown", "id": "d4c2470a-3968-4081-9f3f-23f3fc8573d0", "metadata": {}, "source": [ "## Let's compute statistics\n", "We can use .agg" ] }, { "cell_type": "code", "execution_count": 7, "id": "5aea0a6b-65f9-4265-9626-753c63aa004b", "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", "
PRCP
mean617.179310
std115.300705
count58.000000
min353.700000
max897.800000
skew-0.161703
cv0.186819
\n", "
" ], "text/plain": [ " PRCP\n", "mean 617.179310\n", "std 115.300705\n", "count 58.000000\n", "min 353.700000\n", "max 897.800000\n", "skew -0.161703\n", "cv 0.186819" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stats = yearly_data.agg(['mean', 'std', 'count', 'min', 'max', 'skew'])\n", "stats.loc['cv'] = stats.loc['std'] / stats.loc['mean']\n", "stats" ] }, { "cell_type": "markdown", "id": "c50ac8c0-7b1a-48a7-aa5f-3ab6b33faa4a", "metadata": {}, "source": [ "## Now let's join, change the header, and export to Excel" ] }, { "cell_type": "code", "execution_count": 8, "id": "e780fe1c-49ac-4516-94f5-0ff0268292ec", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
VariablePrecipitation [mm/day]
StationUKE00105909
1961-04-01 00:00:00542.900000
1962-04-01 00:00:00469.600000
1963-04-01 00:00:00530.400000
1964-04-01 00:00:00485.800000
1965-04-01 00:00:00664.400000
......
count58.000000
min353.700000
max897.800000
skew-0.161703
cv0.186819
\n", "

65 rows × 1 columns

\n", "
" ], "text/plain": [ "Variable Precipitation [mm/day]\n", "Station UKE00105909\n", "1961-04-01 00:00:00 542.900000\n", "1962-04-01 00:00:00 469.600000\n", "1963-04-01 00:00:00 530.400000\n", "1964-04-01 00:00:00 485.800000\n", "1965-04-01 00:00:00 664.400000\n", "... ...\n", "count 58.000000\n", "min 353.700000\n", "max 897.800000\n", "skew -0.161703\n", "cv 0.186819\n", "\n", "[65 rows x 1 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint = pd.concat([yearly_data, stats], axis=0)\n", "joint.columns = pd.MultiIndex.from_product([['Precipitation [mm/year]'], [station]], names=['Variable', 'Station'])\n", "\n", "joint.to_excel(f'parsed_{station}.xlsx')\n", "\n", "joint" ] }, { "cell_type": "markdown", "id": "4db2ce0a-1e4e-4680-b2d2-7e4faee9401b", "metadata": {}, "source": [ "## Now the magic begins to happen...\n", "Lets do this for all stations at once!\n", "\n", "First, use `glob` to get all files with the `.csv` extension in the `precipitation` folder" ] }, { "cell_type": "code", "execution_count": 13, "id": "39bfd282-1e08-4ed0-86ff-804a778ba976", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lab work\\6606347\\precipitation\\UK000056225.csv\n", "Lab work\\6606347\\precipitation\\UKE00102158.csv\n", "Lab work\\6606347\\precipitation\\UKE00105869.csv\n", "Lab work\\6606347\\precipitation\\UKE00105909.csv\n", "Lab work\\6606347\\precipitation\\UKE00105911.csv\n", "Lab work\\6606347\\precipitation\\UKE00105915.csv\n", "Lab work\\6606347\\precipitation\\UKE00105922.csv\n", "Lab work\\6606347\\precipitation\\UKE00105923.csv\n", "Lab work\\6606347\\precipitation\\UKE00105924.csv\n", "Lab work\\6606347\\precipitation\\UKE00105925.csv\n", "Lab work\\6606347\\precipitation\\UKE00107650.csv\n", "Lab work\\6606347\\precipitation\\UKE00107962.csv\n", "Lab work\\6606347\\precipitation\\UKM00003740.csv\n", "Lab work\\6606347\\precipitation\\UKM00003772.csv\n", "Lab work\\6606347\\precipitation\\UKM00003862.csv\n" ] } ], "source": [ "folder_path = Path(r'./Lab work/6606347/precipitation')\n", "\n", "for file in folder_path.glob('*.csv'):\n", " print(file)" ] }, { "cell_type": "code", "execution_count": 16, "id": "b1d0b3d9-6d38-4f11-9678-c7f1970c79f2", "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", " \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", " \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", " \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", " \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", " \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", "
VariablePrecipitation [mm/year]
StationUK000056225UKE00102158UKE00105869UKE00105909UKE00105911UKE00105915UKE00105922UKE00105923UKE00105924UKE00105925UKE00107650UKE00107962UKM00003740UKM00003772UKM00003862
DATE
1827-04-01600.3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1828-04-01572.1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1829-04-01570.4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1830-04-01793.4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1831-04-01680.6NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
................................................
2019-04-01808.31008.81053.4810.8NaNNaNNaN1056.8NaNNaN725.4829.2NaN728.4NaN
2020-04-01828.4805.4839.4703.8NaNNaNNaNNaNNaNNaN630.0745.8NaNNaNNaN
2021-04-01NaN682.6727.4548.8NaNNaNNaNNaNNaNNaN603.0630.4NaNNaNNaN
2022-04-01NaN798.2802.2NaNNaNNaNNaN864.7NaNNaN635.2755.8NaN580.5NaN
2023-04-01NaN1187.41221.4897.8NaNNaNNaN1218.0NaNNaN842.4961.6NaNNaNNaN
\n", "

197 rows × 15 columns

\n", "
" ], "text/plain": [ "Variable Precipitation [mm/year] \\\n", "Station UK000056225 UKE00102158 UKE00105869 UKE00105909 \n", "DATE \n", "1827-04-01 600.3 NaN NaN NaN \n", "1828-04-01 572.1 NaN NaN NaN \n", "1829-04-01 570.4 NaN NaN NaN \n", "1830-04-01 793.4 NaN NaN NaN \n", "1831-04-01 680.6 NaN NaN NaN \n", "... ... ... ... ... \n", "2019-04-01 808.3 1008.8 1053.4 810.8 \n", "2020-04-01 828.4 805.4 839.4 703.8 \n", "2021-04-01 NaN 682.6 727.4 548.8 \n", "2022-04-01 NaN 798.2 802.2 NaN \n", "2023-04-01 NaN 1187.4 1221.4 897.8 \n", "\n", "Variable \\\n", "Station UKE00105911 UKE00105915 UKE00105922 UKE00105923 UKE00105924 \n", "DATE \n", "1827-04-01 NaN NaN NaN NaN NaN \n", "1828-04-01 NaN NaN NaN NaN NaN \n", "1829-04-01 NaN NaN NaN NaN NaN \n", "1830-04-01 NaN NaN NaN NaN NaN \n", "1831-04-01 NaN NaN NaN NaN NaN \n", "... ... ... ... ... ... \n", "2019-04-01 NaN NaN NaN 1056.8 NaN \n", "2020-04-01 NaN NaN NaN NaN NaN \n", "2021-04-01 NaN NaN NaN NaN NaN \n", "2022-04-01 NaN NaN NaN 864.7 NaN \n", "2023-04-01 NaN NaN NaN 1218.0 NaN \n", "\n", "Variable \\\n", "Station UKE00105925 UKE00107650 UKE00107962 UKM00003740 UKM00003772 \n", "DATE \n", "1827-04-01 NaN NaN NaN NaN NaN \n", "1828-04-01 NaN NaN NaN NaN NaN \n", "1829-04-01 NaN NaN NaN NaN NaN \n", "1830-04-01 NaN NaN NaN NaN NaN \n", "1831-04-01 NaN NaN NaN NaN NaN \n", "... ... ... ... ... ... \n", "2019-04-01 NaN 725.4 829.2 NaN 728.4 \n", "2020-04-01 NaN 630.0 745.8 NaN NaN \n", "2021-04-01 NaN 603.0 630.4 NaN NaN \n", "2022-04-01 NaN 635.2 755.8 NaN 580.5 \n", "2023-04-01 NaN 842.4 961.6 NaN NaN \n", "\n", "Variable \n", "Station UKM00003862 \n", "DATE \n", "1827-04-01 NaN \n", "1828-04-01 NaN \n", "1829-04-01 NaN \n", "1830-04-01 NaN \n", "1831-04-01 NaN \n", "... ... \n", "2019-04-01 NaN \n", "2020-04-01 NaN \n", "2021-04-01 NaN \n", "2022-04-01 NaN \n", "2023-04-01 NaN \n", "\n", "[197 rows x 15 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_data = []\n", "for file in folder_path.glob('*.csv'):\n", " station = file.name.replace('.csv','')\n", " _data = pd.read_csv(file, index_col=0, usecols=[1, 6])\n", " _data.index = pd.to_datetime(_data.index, format='%Y-%m-%d', errors='coerce')\n", " _data.PRCP /= 10\n", "\n", " _data = _data.loc[:, ['PRCP']].resample('YS-APR').sum(min_count=365).dropna()\n", " _data.columns = pd.MultiIndex.from_product([['Precipitation [mm/year]'], [station]], names=['Variable', 'Station'])\n", " \n", " all_data.append(_data)\n", "\n", "full_dataset = pd.concat(all_data, axis=1)\n", "full_dataset" ] }, { "cell_type": "markdown", "id": "71d7fd26-4b52-420d-8210-f000f98bc410", "metadata": {}, "source": [ "## Can you add the statistics and save to an Excel file?" ] }, { "cell_type": "code", "execution_count": null, "id": "e5a8a78c-68f9-45d3-8ee4-6665961e85e5", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "climatechange", "language": "python", "name": "climatechange" }, "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.11.11" } }, "nbformat": 4, "nbformat_minor": 5 }