From 53cacba0c9070c8ee8a90005a4f224573b498ef8 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 11:45:14 +0000 Subject: [PATCH 01/15] Start exploring the prep data --- notebooks/exploration.ipynb | 76 +++++++++++++++++++++++++++++++++++++ poetry.lock | 48 ++++++++++++++++++++++- pyproject.toml | 1 + 3 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 notebooks/exploration.ipynb diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb new file mode 100644 index 0000000..69e6663 --- /dev/null +++ b/notebooks/exploration.ipynb @@ -0,0 +1,76 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notebook: Exploration of csv files" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"Exploration notebook for data analysis.\n", + "\n", + "This notebook contains data exploration steps for disaster analysis.\n", + "\"\"\"\n", + "\n", + "from pathlib import Path\n", + "\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def read_dat(dat_file: str) -> pd:\n", + " \"\"\"Reads a CSV file from the data_prep directory.\"\"\"\n", + " dat_dir = Path(\"../data_prep/\").resolve()\n", + " dat_path = dat_dir / dat_file\n", + " return pd.read_csv(dat_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "glide_prep_df = read_dat(\"glide_prep.csv\")\n", + "gdacs_prep_df = read_dat(\"gdacs_prep.csv\")\n", + "emdat_prep_df = read_dat(\"emdat_prep.csv\")\n", + "disaster_charter_df = read_dat(\"disaster_charter_prep.csv\")\n", + "cerf_df = read_dat(\"cerf_prep.csv\")\n", + "idmc_df = read_dat(\"idmc_prep.csv\")\n", + "ifrc_df = read_dat(\"ifrc_prep.csv\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/poetry.lock b/poetry.lock index 142c6cd..bbe54ed 100644 --- a/poetry.lock +++ b/poetry.lock @@ -72,6 +72,21 @@ docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphi tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] +[[package]] +name = "autopep8" +version = "2.3.2" +description = "A tool that automatically formats Python code to conform to the PEP 8 style guide" +optional = false +python-versions = ">=3.9" +files = [ + {file = "autopep8-2.3.2-py2.py3-none-any.whl", hash = "sha256:ce8ad498672c845a0c3de2629c15b635ec2b05ef8177a6e7c91c74f3e9b51128"}, + {file = "autopep8-2.3.2.tar.gz", hash = "sha256:89440a4f969197b69a995e4ce0661b031f455a9f776d2c5ba3dbd83466931758"}, +] + +[package.dependencies] +pycodestyle = ">=2.12.0" +tomli = {version = "*", markers = "python_version < \"3.11\""} + [[package]] name = "azure-core" version = "1.32.0" @@ -1948,6 +1963,26 @@ files = [ msal = ">=1.29,<2" portalocker = ">=1.4,<3" +[[package]] +name = "nbqa" +version = "1.9.1" +description = "Run any standard Python code quality tool on a Jupyter Notebook" +optional = false +python-versions = ">=3.9" +files = [ + {file = "nbqa-1.9.1-py3-none-any.whl", hash = "sha256:95552d2f6c2c038136252a805aa78d85018aef922586270c3a074332737282e5"}, + {file = "nbqa-1.9.1.tar.gz", hash = "sha256:a1f4bcf587c597302fed295951001fc4e1be4ce0e77e1ab1b25ac2fbe3db0cdd"}, +] + +[package.dependencies] +autopep8 = ">=1.5" +ipython = ">=7.8.0" +tokenize-rt = ">=3.2.0" +tomli = "*" + +[package.extras] +toolchain = ["black", "blacken-docs", "flake8", "isort", "jupytext", "mypy", "pylint", "pyupgrade", "ruff"] + [[package]] name = "nest-asyncio" version = "1.6.0" @@ -3994,6 +4029,17 @@ files = [ {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, ] +[[package]] +name = "tokenize-rt" +version = "6.1.0" +description = "A wrapper around the stdlib `tokenize` which roundtrips." +optional = false +python-versions = ">=3.9" +files = [ + {file = "tokenize_rt-6.1.0-py2.py3-none-any.whl", hash = "sha256:d706141cdec4aa5f358945abe36b911b8cbdc844545da99e811250c0cee9b6fc"}, + {file = "tokenize_rt-6.1.0.tar.gz", hash = "sha256:e8ee836616c0877ab7c7b54776d2fefcc3bde714449a206762425ae114b53c86"}, +] + [[package]] name = "tomli" version = "2.0.2" @@ -4373,4 +4419,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "f9a97deb62b63308062f23af2146692b8c76ba4f5e1abdc2dc03292e6aa07c41" +content-hash = "a4df48d04e23f1ebe6f2e8f0517f4945124c081a90a696503731b5f9b28f60a7" diff --git a/pyproject.toml b/pyproject.toml index d3ed39b..16a8d7c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ pycirclize = "^1.8.0" circlify = "^0.15.0" azure-storage-blob = "^12.24.1" azure-identity = "^1.19.0" +nbqa = "^1.9.1" [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" From 77f0bcacba10ead604fb29459c03ee62632166b2 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 12:17:59 +0000 Subject: [PATCH 02/15] Start displaying the prep data --- notebooks/exploration.ipynb | 2410 ++++++++++++++++++++++++++++++++++- 1 file changed, 2406 insertions(+), 4 deletions(-) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index 69e6663..b781269 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -20,12 +20,13 @@ "\n", "from pathlib import Path\n", "\n", - "import pandas as pd" + "import pandas as pd\n", + "from IPython.display import display" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -38,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -50,6 +51,2407 @@ "idmc_df = read_dat(\"idmc_prep.csv\")\n", "ifrc_df = read_dat(\"ifrc_prep.csv\")" ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Country_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Location", + "rawType": "object", + "type": "unknown" + }, + { + "name": "Latitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Longitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Year", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Month", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Day", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Time", + "rawType": "object", + "type": "unknown" + }, + { + "name": "Severity", + "rawType": "object", + "type": "unknown" + }, + { + "name": "Source", + "rawType": "object", + "type": "string" + }, + { + "name": "Comments", + "rawType": "object", + "type": "string" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "94409489-4c15-4127-ac5e-1c635a4b8558", + "rows": [ + [ + "0", + "TC-2024-000219-LKA", + "Tropical Cyclone", + "TC", + "TC", + "Sri Lanka", + "LKA", + "Ampara, Batticaloa, Jaffna, Mannar , Kilinochchi, Trincomalee, Mullaitivu, Anuradhapura, Vavuniya", + "8.3113518", + "80.4036508", + "2024-11-23", + "2024", + "11", + "23", + null, + null, + "Sri Lanka Red Cross Society and Sri Lanka's Disaster Management Centre", + "The deep depression in the Bay of Bengal conditions to the northeast of Sri Lanka has caused heavy rains across the country since 23rd November 2024. The heavy rainfall along the coastal side, which has continued since 23rd November, triggered flash floods in the country on 26th November 2024.\n\nOn 29th November 2024, the Department of Meteorology issued a ‘Red' alert warning for Cyclone “FENGAL” over the Southwest Bay of Bengal for the land and the deep and shallow sea areas around the island. As per the warning, the Deep Depression over Southwest Bay of Bengal moved north-northwestwards and intensified into a cyclonic storm “FENGAL” and was located about 280 km northeast of Kankasanthurai and 310 km north-northeast of Trincomalee.\n\nHeavy flash flooding has affected low-lying regions, and disruptions to fisheries have led to warnings from Sri Lanka's Disaster Management Centre. Authorities have advised fishermen to suspend their operations.\n\nSeveral roads and bridges have been damaged, particularly in the Northern, North Central, and Eastern Provinces. The primary route from Colombo to Ratnapura, Wellawaya, and Batticaloa has been temporarily closed, and the public is advised to use alternative routes.\n\nThe Disaster Management Centre reports that 475,000 individuals have been affected across 232 Divisional Secretariat Divisions in 24 districts due to the indirect impacts of Cyclone FENGAL." + ], + [ + "1", + "FL-2024-000218-MYS", + "Flood", + "FL", + "FL", + "Malaysia", + "MYS", + "Kelantan, Terengganu, Kedah, Perlis, Johor, and Perak", + "5.0936342", + "102.989615", + "2024-11-25", + "2024", + "11", + "25", + null, + null, + "Malaysian Red Crescent Society, Official Statistics Malaysia, •\tMalaysia Welfare Department", + "The Northeast Monsoon (MTL) began in early November 2024 and is expected to end by March 2025, during which Malaysia is forecasted to experience five to seven episodes of heavy rainfall. Continuous heavy rain lasting several days has resulted in flooding in low-lying and flood-prone areas, such as Kelantan, Terengganu, and several other regions in Peninsular Malaysia.\n\nAccording to official statistics as of November 28, 2024, a total of 31,798 individuals from 9,613 families have been affected by the Northeast Monsoon floods in both the East and West Coasts. Additionally, six major rivers in Kelantan have surpassed danger levels and are showing rising trends. These include Sungai Lanas in Jeli at 31.28 meters, Sungai Kelantan in Kuala Krai (25.41 meters), Sungai Kelantan in Machang (20.27 meters), Sungai Golok in Rantau Panjang (10.94 meters), Sungai Melor in Bachok (9.85 meters), and Sungai Semerak in Pasir Puteh (3.69 meters).\n\nIn Terengganu, the number of flood victims has risen sharply to 3,768 compared to 1,851 yesterday evening, with a total of 69 Temporary Evacuation Centers (PPS) opened across the districts of Besut, Setiu, Dungun, Hulu Terengganu, Marang, and Kemaman. Besut is the most affected district, recording 2,335 victims housed in 33 PPS, followed by Hulu Terengganu (513 people in 19 PPS), Setiu (388 people in 11 PPS), Dungun (246 people in two PPS), Kemaman (215 people in two PPS), and Marang (71 people in two PPS)." + ], + [ + "2", + "FL-2024-000217-THA", + "Flood", + "FL", + "FL", + "Thailand", + "THA", + "Satun, Surat Thani, Nakhon Si Thammarat, Songkhla, Pattani, Narathiwat, and Yala Provinces", + "6.2020252", + "101.2523792", + "2024-11-26", + "2024", + "11", + "26", + null, + null, + "AHA Centre", + "Continuous heavy rains brought by the northeast monsoon since the last week have caused floods and flash floods over the southern region of Thailand and Peninsular Malaysia as reported by the Department of Disaster Prevention and Mitigation (DDPM) Thailand and Agensi Pengurusan Bencana Negara (NADMA) Malaysia.\nAs of 28 Nov, a total of 136,219 households affected in Satun, Surat Thani, Nakhon Si Thammarat, Songkhla, Pattani, Narathiwat, and Yala Provinces were reported by DDPM Thailand." + ], + [ + "3", + "FL-2024-000216-DOM", + "Flood", + "FL", + "FL", + "Dominican Republic", + "DOM", + null, + "18.735693", + "-70.162651", + "2024-11-14", + "2024", + "11", + "14", + null, + null, + "IFRC", + "As of 14 November, rainfall models predict 60-100 mm of rain over the next 24-48 hours, with 40-80 mm expected in the next 72-120 hours, potentially higher in isolated areas." + ], + [ + "4", + "FL-2024-000215-CRI", + "Flood", + "FL", + "FL", + "Costa Rica", + "CRI", + null, + "9.748917", + "-83.753428", + "2024-11-07", + "2024", + "11", + "7", + null, + null, + "IFRC", + "On 7 November 2024, the National Meteorological Institute (IMN) issued a Meteorological Advisory reporting that, following the indirect influence of Hurricane Rafael, the Intertropical Convergence Zone persisted over the Central American Isthmus. This phenomenon, combined with the passage of Tropical Wave #45, exacerbated soil saturation across various regions of the country, reaching critical levels in both Peninsulas, the North Pacific, South Pacific mountains, Northern Zone, Central Pacific, and Central Valley. Due to the elevated saturation levels, these areas faced significant vulnerability to potential incidents, prompting the IMN to recommend heightened preventive measures" + ] + ], + "shape": { + "columns": 17, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDateYearMonthDayTimeSeveritySourceComments
0TC-2024-000219-LKATropical CycloneTCTCSri LankaLKAAmpara, Batticaloa, Jaffna, Mannar , Kilinochc...8.31135280.4036512024-11-2320241123NaNNaNSri Lanka Red Cross Society and Sri Lanka's Di...The deep depression in the Bay of Bengal condi...
1FL-2024-000218-MYSFloodFLFLMalaysiaMYSKelantan, Terengganu, Kedah, Perlis, Johor, an...5.093634102.9896152024-11-2520241125NaNNaNMalaysian Red Crescent Society, Official Stati...The Northeast Monsoon (MTL) began in early Nov...
2FL-2024-000217-THAFloodFLFLThailandTHASatun, Surat Thani, Nakhon Si Thammarat, Songk...6.202025101.2523792024-11-2620241126NaNNaNAHA CentreContinuous heavy rains brought by the northeas...
3FL-2024-000216-DOMFloodFLFLDominican RepublicDOMNaN18.735693-70.1626512024-11-1420241114NaNNaNIFRCAs of 14 November, rainfall models predict 60-...
4FL-2024-000215-CRIFloodFLFLCosta RicaCRINaN9.748917-83.7534282024-11-072024117NaNNaNIFRCOn 7 November 2024, the National Meteorologica...
\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Name Event_Type Event_Code \\\n", + "0 TC-2024-000219-LKA Tropical Cyclone TC TC \n", + "1 FL-2024-000218-MYS Flood FL FL \n", + "2 FL-2024-000217-THA Flood FL FL \n", + "3 FL-2024-000216-DOM Flood FL FL \n", + "4 FL-2024-000215-CRI Flood FL FL \n", + "\n", + " Country Country_Code \\\n", + "0 Sri Lanka LKA \n", + "1 Malaysia MYS \n", + "2 Thailand THA \n", + "3 Dominican Republic DOM \n", + "4 Costa Rica CRI \n", + "\n", + " Location Latitude Longitude \\\n", + "0 Ampara, Batticaloa, Jaffna, Mannar , Kilinochc... 8.311352 80.403651 \n", + "1 Kelantan, Terengganu, Kedah, Perlis, Johor, an... 5.093634 102.989615 \n", + "2 Satun, Surat Thani, Nakhon Si Thammarat, Songk... 6.202025 101.252379 \n", + "3 NaN 18.735693 -70.162651 \n", + "4 NaN 9.748917 -83.753428 \n", + "\n", + " Date Year Month Day Time Severity \\\n", + "0 2024-11-23 2024 11 23 NaN NaN \n", + "1 2024-11-25 2024 11 25 NaN NaN \n", + "2 2024-11-26 2024 11 26 NaN NaN \n", + "3 2024-11-14 2024 11 14 NaN NaN \n", + "4 2024-11-07 2024 11 7 NaN NaN \n", + "\n", + " Source \\\n", + "0 Sri Lanka Red Cross Society and Sri Lanka's Di... \n", + "1 Malaysian Red Crescent Society, Official Stati... \n", + "2 AHA Centre \n", + "3 IFRC \n", + "4 IFRC \n", + "\n", + " Comments \n", + "0 The deep depression in the Bay of Bengal condi... \n", + "1 The Northeast Monsoon (MTL) began in early Nov... \n", + "2 Continuous heavy rains brought by the northeas... \n", + "3 As of 14 November, rainfall models predict 60-... \n", + "4 On 7 November 2024, the National Meteorologica... " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Event_Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Country_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Location", + "rawType": "object", + "type": "string" + }, + { + "name": "Latitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Longitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Year", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Severity", + "rawType": "float64", + "type": "float" + }, + { + "name": "Population_Affected", + "rawType": "float64", + "type": "float" + }, + { + "name": "Alert_Level", + "rawType": "object", + "type": "string" + }, + { + "name": "End_Date", + "rawType": "object", + "type": "string" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "c1630f7f-5afe-4ee5-b1dd-ff97608f2a87", + "rows": [ + [ + "0", + "4216", + "Earthquake in Afghanistan", + "EQ", + "EQ", + "Afghanistan", + "AFG", + "['Afghanistan']", + "36.2", + "70.4", + "2000-01-19", + "2000", + "6.4", + null, + "Red", + "2000-01-19" + ], + [ + "1", + "4206", + "Earthquake in Iran", + "EQ", + "EQ", + "Iran", + "IRN", + "[]", + "35.217", + "58.175", + "2000-02-14", + "2000", + "4.9", + null, + "Green", + "2000-02-14" + ], + [ + "2", + "4273", + "Earthquake in Iran", + "EQ", + "EQ", + "Iran", + "IRN", + "[]", + "35.288", + "58.218", + "2000-02-03", + "2000", + "5.3", + null, + "Green", + "2000-02-03" + ], + [ + "3", + "1583", + "Flood in Mozambique", + "FL", + "FL", + "Mozambique", + "MOZ", + "['Mozambique']", + "-27.822", + "31.712", + "2000-01-26", + "2000", + "7.74", + null, + "ORANGE", + "2000-03-27" + ], + [ + "4", + "1587", + "Flood in Madagascar", + "FL", + "FL", + "Madagascar", + "MDG", + "['Madagascar']", + "-15.783", + "47.296", + "2000-02-17", + "2000", + "6.79", + null, + "RED", + "2000-03-11" + ] + ], + "shape": { + "columns": 15, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDateYearSeverityPopulation_AffectedAlert_LevelEnd_Date
04216Earthquake in AfghanistanEQEQAfghanistanAFG['Afghanistan']36.20070.4002000-01-1920006.40NaNRed2000-01-19
14206Earthquake in IranEQEQIranIRN[]35.21758.1752000-02-1420004.90NaNGreen2000-02-14
24273Earthquake in IranEQEQIranIRN[]35.28858.2182000-02-0320005.30NaNGreen2000-02-03
31583Flood in MozambiqueFLFLMozambiqueMOZ['Mozambique']-27.82231.7122000-01-2620007.74NaNORANGE2000-03-27
41587Flood in MadagascarFLFLMadagascarMDG['Madagascar']-15.78347.2962000-02-1720006.79NaNRED2000-03-11
\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Name Event_Type Event_Code \\\n", + "0 4216 Earthquake in Afghanistan EQ EQ \n", + "1 4206 Earthquake in Iran EQ EQ \n", + "2 4273 Earthquake in Iran EQ EQ \n", + "3 1583 Flood in Mozambique FL FL \n", + "4 1587 Flood in Madagascar FL FL \n", + "\n", + " Country Country_Code Location Latitude Longitude Date \\\n", + "0 Afghanistan AFG ['Afghanistan'] 36.200 70.400 2000-01-19 \n", + "1 Iran IRN [] 35.217 58.175 2000-02-14 \n", + "2 Iran IRN [] 35.288 58.218 2000-02-03 \n", + "3 Mozambique MOZ ['Mozambique'] -27.822 31.712 2000-01-26 \n", + "4 Madagascar MDG ['Madagascar'] -15.783 47.296 2000-02-17 \n", + "\n", + " Year Severity Population_Affected Alert_Level End_Date \n", + "0 2000 6.40 NaN Red 2000-01-19 \n", + "1 2000 4.90 NaN Green 2000-02-14 \n", + "2 2000 5.30 NaN Green 2000-02-03 \n", + "3 2000 7.74 NaN ORANGE 2000-03-27 \n", + "4 2000 6.79 NaN RED 2000-03-11 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Name", + "rawType": "object", + "type": "unknown" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Country_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Location", + "rawType": "object", + "type": "string" + }, + { + "name": "Latitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Longitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Year", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Month", + "rawType": "float64", + "type": "float" + }, + { + "name": "Day", + "rawType": "float64", + "type": "float" + }, + { + "name": "Severity", + "rawType": "float64", + "type": "float" + }, + { + "name": "Population_Affected", + "rawType": "float64", + "type": "float" + }, + { + "name": "Fatalities", + "rawType": "float64", + "type": "float" + }, + { + "name": "People_Displaced", + "rawType": "float64", + "type": "float" + }, + { + "name": "Financial_Loss", + "rawType": "float64", + "type": "float" + }, + { + "name": "AID_Contribution", + "rawType": "float64", + "type": "float" + }, + { + "name": "Admin_Units", + "rawType": "object", + "type": "string" + }, + { + "name": "External_IDs", + "rawType": "object", + "type": "unknown" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "653c046b-6d2b-46aa-98a8-59d0cfecc38a", + "rows": [ + [ + "0", + "1999-9388-DJI", + null, + "Drought", + "DR", + "Djibouti", + "DJI", + "Ali Sabieh, Dikhil, Djibouti, Obock, Tadjourah provinces", + null, + null, + "2001-06-01", + "2001", + "6.0", + null, + null, + "100000.0", + null, + null, + null, + "1556.0", + "[{\"adm1_code\":1093,\"adm1_name\":\"Ali Sabieh\"},{\"adm1_code\":1094,\"adm1_name\":\"Dikhil\"},{\"adm1_code\":1095,\"adm1_name\":\"Djibouti\"},{\"adm1_code\":1096,\"adm1_name\":\"Obock\"},{\"adm1_code\":1097,\"adm1_name\":\"Tadjourah\"}]", + null + ], + [ + "1", + "1999-9388-SDN", + null, + "Drought", + "DR", + "Sudan", + "SDN", + "Northern Darfur, Northern Kordofan, Red Sea provinces", + null, + null, + "2000-01-01", + "2000", + "1.0", + null, + null, + "2000000.0", + null, + null, + null, + null, + "[{\"adm1_code\":2757,\"adm1_name\":\"Northern Darfur\"},{\"adm1_code\":40772,\"adm1_name\":\"Red Sea\"},{\"adm1_code\":68784,\"adm1_name\":\"Northern Kordofan\"}]", + null + ], + [ + "2", + "1999-9388-SOM", + null, + "Drought", + "DR", + "Somalia", + "SOM", + "Ceel Barde, Rab Dhuure, Tayeeglow, Xudur districts (Bakool province), Garbahaarey, Baardheere districts (Gedo province), Bay, Hiraan provinces ", + null, + null, + "2000-01-01", + "2000", + "1.0", + null, + null, + "1200000.0", + "21.0", + null, + null, + null, + "[{\"adm1_code\":2691,\"adm1_name\":\"Bay\"},{\"adm1_code\":2695,\"adm1_name\":\"Hiraan\"},{\"adm2_code\":25657,\"adm2_name\":\"Ceel Barde\"},{\"adm2_code\":25658,\"adm2_name\":\"Rab Dhuure\"},{\"adm2_code\":25659,\"adm2_name\":\"Tayeeglow\"},{\"adm2_code\":25661,\"adm2_name\":\"Xudur\"},{\"adm2_code\":25678,\"adm2_name\":\"Baardheere\"},{\"adm2_code\":25682,\"adm2_name\":\"Garbahaarey\"}]", + null + ], + [ + "3", + "2000-0002-AGO", + null, + "Flood", + "FL", + "Angola", + "AGO", + "Dombre Grande village (Baia Farta district, Benguela province), Massangano village (Cambambe district, Kuanza Norte province)", + null, + null, + "2000-01-08", + "2000", + "1.0", + "8.0", + "47000.0", + "70000.0", + "31.0", + null, + "10000.0", + null, + "[{\"adm2_code\":4214,\"adm2_name\":\"Baia Farta\"},{\"adm2_code\":4291,\"adm2_name\":\"Cambambe\"}]", + null + ], + [ + "4", + "2000-0003-BGD", + null, + "Extreme temperature", + "HW/CW", + "Bangladesh", + "BGD", + "Barisal, Chittagong, Dhaka, Khulna, Rajshahi, Rangpur, Sylhet provinces", + null, + null, + "2000-01-01", + "2000", + "1.0", + null, + "6.4", + null, + "49.0", + null, + null, + null, + "[{\"adm1_code\":575,\"adm1_name\":\"Barisal\"},{\"adm1_code\":576,\"adm1_name\":\"Chittagong\"},{\"adm1_code\":577,\"adm1_name\":\"Dhaka\"},{\"adm1_code\":578,\"adm1_name\":\"Khulna\"},{\"adm1_code\":580,\"adm1_name\":\"Sylhet\"},{\"adm1_code\":61362,\"adm1_name\":\"Rajshahi\"},{\"adm1_code\":61363,\"adm1_name\":\"Rangpur\"}]", + null + ] + ], + "shape": { + "columns": 21, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDate...MonthDaySeverityPopulation_AffectedFatalitiesPeople_DisplacedFinancial_LossAID_ContributionAdmin_UnitsExternal_IDs
01999-9388-DJINaNDroughtDRDjiboutiDJIAli Sabieh, Dikhil, Djibouti, Obock, Tadjourah...NaNNaN2001-06-01...6.0NaNNaN100000.0NaNNaNNaN1556.0[{\"adm1_code\":1093,\"adm1_name\":\"Ali Sabieh\"},{...NaN
11999-9388-SDNNaNDroughtDRSudanSDNNorthern Darfur, Northern Kordofan, Red Sea pr...NaNNaN2000-01-01...1.0NaNNaN2000000.0NaNNaNNaNNaN[{\"adm1_code\":2757,\"adm1_name\":\"Northern Darfu...NaN
21999-9388-SOMNaNDroughtDRSomaliaSOMCeel Barde, Rab Dhuure, Tayeeglow, Xudur distr...NaNNaN2000-01-01...1.0NaNNaN1200000.021.0NaNNaNNaN[{\"adm1_code\":2691,\"adm1_name\":\"Bay\"},{\"adm1_c...NaN
32000-0002-AGONaNFloodFLAngolaAGODombre Grande village (Baia Farta district, Be...NaNNaN2000-01-08...1.08.047000.070000.031.0NaN10000.0NaN[{\"adm2_code\":4214,\"adm2_name\":\"Baia Farta\"},{...NaN
42000-0003-BGDNaNExtreme temperatureHW/CWBangladeshBGDBarisal, Chittagong, Dhaka, Khulna, Rajshahi, ...NaNNaN2000-01-01...1.0NaN6.4NaN49.0NaNNaNNaN[{\"adm1_code\":575,\"adm1_name\":\"Barisal\"},{\"adm...NaN
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Name Event_Type Event_Code Country \\\n", + "0 1999-9388-DJI NaN Drought DR Djibouti \n", + "1 1999-9388-SDN NaN Drought DR Sudan \n", + "2 1999-9388-SOM NaN Drought DR Somalia \n", + "3 2000-0002-AGO NaN Flood FL Angola \n", + "4 2000-0003-BGD NaN Extreme temperature HW/CW Bangladesh \n", + "\n", + " Country_Code Location Latitude \\\n", + "0 DJI Ali Sabieh, Dikhil, Djibouti, Obock, Tadjourah... NaN \n", + "1 SDN Northern Darfur, Northern Kordofan, Red Sea pr... NaN \n", + "2 SOM Ceel Barde, Rab Dhuure, Tayeeglow, Xudur distr... NaN \n", + "3 AGO Dombre Grande village (Baia Farta district, Be... NaN \n", + "4 BGD Barisal, Chittagong, Dhaka, Khulna, Rajshahi, ... NaN \n", + "\n", + " Longitude Date ... Month Day Severity Population_Affected \\\n", + "0 NaN 2001-06-01 ... 6.0 NaN NaN 100000.0 \n", + "1 NaN 2000-01-01 ... 1.0 NaN NaN 2000000.0 \n", + "2 NaN 2000-01-01 ... 1.0 NaN NaN 1200000.0 \n", + "3 NaN 2000-01-08 ... 1.0 8.0 47000.0 70000.0 \n", + "4 NaN 2000-01-01 ... 1.0 NaN 6.4 NaN \n", + "\n", + " Fatalities People_Displaced Financial_Loss AID_Contribution \\\n", + "0 NaN NaN NaN 1556.0 \n", + "1 NaN NaN NaN NaN \n", + "2 21.0 NaN NaN NaN \n", + "3 31.0 NaN 10000.0 NaN \n", + "4 49.0 NaN NaN NaN \n", + "\n", + " Admin_Units External_IDs \n", + "0 [{\"adm1_code\":1093,\"adm1_name\":\"Ali Sabieh\"},{... NaN \n", + "1 [{\"adm1_code\":2757,\"adm1_name\":\"Northern Darfu... NaN \n", + "2 [{\"adm1_code\":2691,\"adm1_name\":\"Bay\"},{\"adm1_c... NaN \n", + "3 [{\"adm2_code\":4214,\"adm2_name\":\"Baia Farta\"},{... NaN \n", + "4 [{\"adm1_code\":575,\"adm1_name\":\"Barisal\"},{\"adm... NaN \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "float64", + "type": "float" + }, + { + "name": "Event_Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Year", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Month", + "rawType": "object", + "type": "string" + }, + { + "name": "Time", + "rawType": "object", + "type": "string" + }, + { + "name": "External_Links", + "rawType": "object", + "type": "string" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "caedeb2e-59e6-40a7-a162-91f52c8bd489", + "rows": [ + [ + "0", + "922.0", + "Oil spill in Samoa", + "Oil spill", + "Oil spill", + "Samoa", + "2024-10-16", + "2024", + "October", + "18:09", + "https://disasterscharter.org/web/guest/activations/-/article/oil-spill-in-samoa-activation-922-" + ], + [ + "1", + "921.0", + "Flood in Sri Lanka", + "Flood", + "FL", + "Sri Lanka", + "2024-10-12", + "2024", + "October", + "12:20", + "https://disasterscharter.org/web/guest/activations/-/article/flood-in-sri-lanka-activation-921-" + ], + [ + "2", + "920.0", + "Hurricane Milton in the United States", + "Flood", + "FL", + "United States", + "2024-10-09", + "2024", + "October", + "12:42", + "https://disasterscharter.org/web/guest/activations/-/article/storm-hurricane-in-united-states-activation-920-" + ], + [ + "3", + "919.0", + "Flood in Nepal", + "Flood", + "FL", + "Nepal", + "2024-09-29", + "2024", + "September", + "12:27", + "https://disasterscharter.org/web/guest/activations/-/article/flood-in-nepal-activation-919-" + ], + [ + "4", + "918.0", + "Hurricane John in Mexico", + "Flood", + "FL", + "Mexico", + "2024-09-28", + "2024", + "September", + "12:02", + "https://disasterscharter.org/web/guest/activations/-/article/flood-in-mexico-activation-918-" + ] + ], + "shape": { + "columns": 10, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryDateYearMonthTimeExternal_Links
0922.0Oil spill in SamoaOil spillOil spillSamoa2024-10-162024October18:09https://disasterscharter.org/web/guest/activat...
1921.0Flood in Sri LankaFloodFLSri Lanka2024-10-122024October12:20https://disasterscharter.org/web/guest/activat...
2920.0Hurricane Milton in the United StatesFloodFLUnited States2024-10-092024October12:42https://disasterscharter.org/web/guest/activat...
3919.0Flood in NepalFloodFLNepal2024-09-292024September12:27https://disasterscharter.org/web/guest/activat...
4918.0Hurricane John in MexicoFloodFLMexico2024-09-282024September12:02https://disasterscharter.org/web/guest/activat...
\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Name Event_Type \\\n", + "0 922.0 Oil spill in Samoa Oil spill \n", + "1 921.0 Flood in Sri Lanka Flood \n", + "2 920.0 Hurricane Milton in the United States Flood \n", + "3 919.0 Flood in Nepal Flood \n", + "4 918.0 Hurricane John in Mexico Flood \n", + "\n", + " Event_Code Country Date Year Month Time \\\n", + "0 Oil spill Samoa 2024-10-16 2024 October 18:09 \n", + "1 FL Sri Lanka 2024-10-12 2024 October 12:20 \n", + "2 FL United States 2024-10-09 2024 October 12:42 \n", + "3 FL Nepal 2024-09-29 2024 September 12:27 \n", + "4 FL Mexico 2024-09-28 2024 September 12:02 \n", + "\n", + " External_Links \n", + "0 https://disasterscharter.org/web/guest/activat... \n", + "1 https://disasterscharter.org/web/guest/activat... \n", + "2 https://disasterscharter.org/web/guest/activat... \n", + "3 https://disasterscharter.org/web/guest/activat... \n", + "4 https://disasterscharter.org/web/guest/activat... " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Country_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Source", + "rawType": "object", + "type": "string" + }, + { + "name": "Comments", + "rawType": "object", + "type": "string" + }, + { + "name": "AID_Contribution", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Disbursement_Date", + "rawType": "object", + "type": "string" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "6610c706-6451-4b52-9662-0662cc794e2c", + "rows": [ + [ + "0", + "06-RR-CAF-1057", + "Displacement", + "Displacement", + "Central African Republic", + "CAF", + "2006-07-31", + "United Nations High Commissioner for Refugees", + "Life-saving protection activities for the internally-displaced population in the prefectures of Ouham and Ouham-Pende in Northern CAR (06-HCR-147)", + "150000", + "13/09/2006" + ], + [ + "1", + "06-RR-CAF-1057", + "Displacement", + "Displacement", + "Central African Republic", + "CAF", + "2006-07-28", + "United Nations Children’s Fund", + "Emergency life saving assistance to the IDPs in the prefectures of Ouham Pendé (06-CEF-062)", + "369750", + "09/08/2006" + ], + [ + "2", + "06-RR-CAF-1057", + "Displacement", + "Displacement", + "Central African Republic", + "CAF", + "2006-07-28", + "United Nations Children’s Fund", + "Life-saving protection activities for IDPs in the prefectures of Ouham and Ouham-Pendé in northern CAR. (06-CEF-149)", + "80250", + "09/08/2006" + ], + [ + "3", + "06-RR-CAF-1057", + "Displacement", + "Displacement", + "Central African Republic", + "CAF", + "2006-07-28", + "World Food Programme", + "Assistance to the longstanding affected population in north western regions of CAR (06-WFP-061)", + "1200000", + "24/08/2006" + ], + [ + "4", + "06-RR-TCD-1755", + "Displacement", + "Displacement", + "Chad", + "TCD", + "2006-06-23", + "Food and Agriculture Organization", + "Emergency assistance to 10000 IDPs in eastern Chad through seeds and agricultural tools supply (06-FAO-072)", + "269333", + "14/08/2006" + ] + ], + "shape": { + "columns": 10, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_TypeEvent_CodeCountryCountry_CodeDateSourceCommentsAID_ContributionDisbursement_Date
006-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-31United Nations High Commissioner for RefugeesLife-saving protection activities for the inte...15000013/09/2006
106-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-28United Nations Children’s FundEmergency life saving assistance to the IDPs i...36975009/08/2006
206-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-28United Nations Children’s FundLife-saving protection activities for IDPs in ...8025009/08/2006
306-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-28World Food ProgrammeAssistance to the longstanding affected popula...120000024/08/2006
406-RR-TCD-1755DisplacementDisplacementChadTCD2006-06-23Food and Agriculture OrganizationEmergency assistance to 10000 IDPs in eastern ...26933314/08/2006
\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Type Event_Code Country \\\n", + "0 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", + "1 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", + "2 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", + "3 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", + "4 06-RR-TCD-1755 Displacement Displacement Chad \n", + "\n", + " Country_Code Date Source \\\n", + "0 CAF 2006-07-31 United Nations High Commissioner for Refugees \n", + "1 CAF 2006-07-28 United Nations Children’s Fund \n", + "2 CAF 2006-07-28 United Nations Children’s Fund \n", + "3 CAF 2006-07-28 World Food Programme \n", + "4 TCD 2006-06-23 Food and Agriculture Organization \n", + "\n", + " Comments AID_Contribution \\\n", + "0 Life-saving protection activities for the inte... 150000 \n", + "1 Emergency life saving assistance to the IDPs i... 369750 \n", + "2 Life-saving protection activities for IDPs in ... 80250 \n", + "3 Assistance to the longstanding affected popula... 1200000 \n", + "4 Emergency assistance to 10000 IDPs in eastern ... 269333 \n", + "\n", + " Disbursement_Date \n", + "0 13/09/2006 \n", + "1 09/08/2006 \n", + "2 09/08/2006 \n", + "3 24/08/2006 \n", + "4 14/08/2006 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Event_Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Country_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Location", + "rawType": "object", + "type": "string" + }, + { + "name": "Latitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Longitude", + "rawType": "float64", + "type": "float" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Year", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Population_Affected", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source", + "rawType": "object", + "type": "string" + }, + { + "name": "Comments", + "rawType": "object", + "type": "string" + }, + { + "name": "External_Links", + "rawType": "object", + "type": "string" + }, + { + "name": "External_IDs", + "rawType": "object", + "type": "unknown" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "3e5aedde-cab3-45a3-bafc-871135a474d4", + "rows": [ + [ + "0", + "22790", + "Ukraine: International armed conflict (IAC) - Donetsk - 2024", + "Conflict", + "Conflict", + "Ukraine", + "UKR", + "Donetsk Oblast, Ukraine", + "47.96067", + "37.834438", + "2024-11-27", + "2024", + "313", + "National Police of Ukraine", + " Ukraine: 313 displacements (evacuated), 27 November - 27 November ", + "https://www.npu.gov.ua/news/rosiiany-poranyly-trokh-zhyteliv-donechchyny-politsiia-zadokumentuvala-voienni-zlochyny", + null + ], + [ + "1", + "28233", + "Argentina: Storm - Corrientes (Esquina) - 27/11/2024", + "Disaster", + "UNSPECIFIED", + "Argentina", + "ARG", + "Esquina, Departamento Esquina, Corrientes, Argentina", + "-29.95343", + "-59.27602", + "2024-11-27", + "2024", + "2", + "Local Authorities", + " Argentina: 2 displacements (evacuated), 27 November - 27 November ", + "https://www.radiodos.com.ar/179749-esquina-mas-de-cien-familias-afectadas-por-el-temporal", + null + ], + [ + "2", + "20827", + "Ukraine: International armed conflict (IAC) - Countrywide - 2024", + "Conflict", + "Conflict", + "Ukraine", + "UKR", + "Borivske, Shevchenkove Raion, Kharkiv Oblast, Ukraine- Kupiansk, Куп’янська міська рада, Kharkiv Oblast, Ukraine", + "49.6746405", + "37.476654", + "2024-11-27", + "2024", + "64", + "Regional Government", + " Ukraine: 64 displacements (evacuated), 27 November - 27 November ", + "https://t.me/synegubov/12250", + null + ], + [ + "3", + "22790", + "Ukraine: International armed conflict (IAC) - Donetsk - 2024", + "Conflict", + "Conflict", + "Ukraine", + "UKR", + "Donetsk Oblast, Ukraine", + "47.96067", + "37.834438", + "2024-11-26", + "2024", + "162", + "National Police of Ukraine", + " Ukraine: 162 displacements (evacuated), 26 November - 26 November ", + "https://www.npu.gov.ua/news/ye-zahyblyi-i-poranenyi-poshkodzheno-piv-sotni-budynkiv-naslidky-rosiiskoi-ahresii-na-donechchyni-za-dobu", + null + ], + [ + "4", + "20827", + "Ukraine: International armed conflict (IAC) - Countrywide - 2024", + "Conflict", + "Conflict", + "Ukraine", + "UKR", + "Borivske, Shevchenkove Raion, Kharkiv Oblast, Ukraine- Kupiansk, Куп’янська міська рада, Kharkiv Oblast, Ukraine", + "49.6746405", + "37.476654", + "2024-11-26", + "2024", + "51", + "Regional Government", + " Ukraine: 51 displacements (evacuated), 26 November - 26 November ", + "https://t.me/synegubov/12239", + null + ] + ], + "shape": { + "columns": 16, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDateYearPopulation_AffectedSourceCommentsExternal_LinksExternal_IDs
022790Ukraine: International armed conflict (IAC) - ...ConflictConflictUkraineUKRDonetsk Oblast, Ukraine47.96067037.8344382024-11-272024313National Police of Ukraine<b> Ukraine: 313 displacements (e...https://www.npu.gov.ua/news/rosiiany-poranyly-...NaN
128233Argentina: Storm - Corrientes (Esquina) - 27/1...DisasterUNSPECIFIEDArgentinaARGEsquina, Departamento Esquina, Corrientes, Arg...-29.953430-59.2760202024-11-2720242Local Authorities<b> Argentina: 2 displacements ...https://www.radiodos.com.ar/179749-esquina-mas...NaN
220827Ukraine: International armed conflict (IAC) -...ConflictConflictUkraineUKRBorivske, Shevchenkove Raion, Kharkiv Oblast, ...49.67464137.4766542024-11-27202464Regional Government<b> Ukraine: 64 displacements (e...https://t.me/synegubov/12250NaN
322790Ukraine: International armed conflict (IAC) - ...ConflictConflictUkraineUKRDonetsk Oblast, Ukraine47.96067037.8344382024-11-262024162National Police of Ukraine<b> Ukraine: 162 displacements (e...https://www.npu.gov.ua/news/ye-zahyblyi-i-pora...NaN
420827Ukraine: International armed conflict (IAC) -...ConflictConflictUkraineUKRBorivske, Shevchenkove Raion, Kharkiv Oblast, ...49.67464137.4766542024-11-26202451Regional Government<b> Ukraine: 51 displacements (e...https://t.me/synegubov/12239NaN
\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Name \\\n", + "0 22790 Ukraine: International armed conflict (IAC) - ... \n", + "1 28233 Argentina: Storm - Corrientes (Esquina) - 27/1... \n", + "2 20827 Ukraine: International armed conflict (IAC) -... \n", + "3 22790 Ukraine: International armed conflict (IAC) - ... \n", + "4 20827 Ukraine: International armed conflict (IAC) -... \n", + "\n", + " Event_Type Event_Code Country Country_Code \\\n", + "0 Conflict Conflict Ukraine UKR \n", + "1 Disaster UNSPECIFIED Argentina ARG \n", + "2 Conflict Conflict Ukraine UKR \n", + "3 Conflict Conflict Ukraine UKR \n", + "4 Conflict Conflict Ukraine UKR \n", + "\n", + " Location Latitude Longitude \\\n", + "0 Donetsk Oblast, Ukraine 47.960670 37.834438 \n", + "1 Esquina, Departamento Esquina, Corrientes, Arg... -29.953430 -59.276020 \n", + "2 Borivske, Shevchenkove Raion, Kharkiv Oblast, ... 49.674641 37.476654 \n", + "3 Donetsk Oblast, Ukraine 47.960670 37.834438 \n", + "4 Borivske, Shevchenkove Raion, Kharkiv Oblast, ... 49.674641 37.476654 \n", + "\n", + " Date Year Population_Affected Source \\\n", + "0 2024-11-27 2024 313 National Police of Ukraine \n", + "1 2024-11-27 2024 2 Local Authorities \n", + "2 2024-11-27 2024 64 Regional Government \n", + "3 2024-11-26 2024 162 National Police of Ukraine \n", + "4 2024-11-26 2024 51 Regional Government \n", + "\n", + " Comments \\\n", + "0 Ukraine: 313 displacements (e... \n", + "1 Argentina: 2 displacements ... \n", + "2 Ukraine: 64 displacements (e... \n", + "3 Ukraine: 162 displacements (e... \n", + "4 Ukraine: 51 displacements (e... \n", + "\n", + " External_Links External_IDs \n", + "0 https://www.npu.gov.ua/news/rosiiany-poranyly-... NaN \n", + "1 https://www.radiodos.com.ar/179749-esquina-mas... NaN \n", + "2 https://t.me/synegubov/12250 NaN \n", + "3 https://www.npu.gov.ua/news/ye-zahyblyi-i-pora... NaN \n", + "4 https://t.me/synegubov/12239 NaN " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Source_Event_IDs", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Event_Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Type", + "rawType": "object", + "type": "string" + }, + { + "name": "Event_Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Country", + "rawType": "object", + "type": "string" + }, + { + "name": "Country_Code", + "rawType": "object", + "type": "unknown" + }, + { + "name": "Date", + "rawType": "object", + "type": "string" + }, + { + "name": "Severity", + "rawType": "object", + "type": "string" + }, + { + "name": "Population_Affected", + "rawType": "float64", + "type": "float" + }, + { + "name": "Comments", + "rawType": "object", + "type": "string" + }, + { + "name": "External_IDs", + "rawType": "object", + "type": "unknown" + } + ], + "conversionMethod": "pd.DataFrame", + "ref": "16910f77-6718-43e4-beca-f596811fd604", + "rows": [ + [ + "0", + "7249", + "MYS: Flood - 11-2024 - East Coast Monsoon Flood 2024", + "Flood", + "FL", + "Malaysia", + "MYS", + "2024-11-27", + "Yellow", + null, + "

The Northeast Monsoon (MTL) began in early November 2024 and is expected to end by March 2025, during which Malaysia is forecasted to experience five to seven episodes of heavy rainfall. Continuous heavy rain lasting several days has resulted in flooding in low-lying and flood-prone areas, such as Kelantan, Terengganu, and several other regions in Peninsular Malaysia.

\n

According to official statistics as of November 28, 2024, a total of 31,798 individuals from 9,613 families have been affected by the Northeast Monsoon floods in both the East and West Coasts. The affected states include Kelantan, Terengganu, Kedah, Perlis, Johor, and Perak. Official reports from the Social Welfare Department (JKM) indicate that 296 Temporary Evacuation Centers (PPS) have been established to accommodate those impacted. In Kelantan, electricity supply has been cut off in 17 areas across four districts due to worsening flood conditions. To date, only one fatality—a 33-year-old victim in Kelantan—has been reported, caused by electrocution.

\n

Additionally, six major rivers in Kelantan have surpassed danger levels and are showing rising trends. These include Sungai Lanas in Jeli at 31.28 meters, Sungai Kelantan in Kuala Krai (25.41 meters), Sungai Kelantan in Machang (20.27 meters), Sungai Golok in Rantau Panjang (10.94 meters), Sungai Melor in Bachok (9.85 meters), and Sungai Semerak in Pasir Puteh (3.69 meters).

In Terengganu, the number of flood victims has risen sharply to 3,768 compared to 1,851 yesterday evening, with a total of 69 Temporary Evacuation Centers (PPS) opened across the districts of Besut, Setiu, Dungun, Hulu Terengganu, Marang, and Kemaman. Besut is the most affected district, recording 2,335 victims housed in 33 PPS, followed by Hulu Terengganu (513 people in 19 PPS), Setiu (388 people in 11 PPS), Dungun (246 people in two PPS), Kemaman (215 people in two PPS), and Marang (71 people in two PPS).

River levels at 11 stations in the state have also recorded readings exceeding the danger level, including Sungai Besut at Jambatan Keruak and Sungai Besut at Kampung La in Besut; Sungai Nerus at Kampung Langkap and Sungai Setiu at Kampung Besut in Setiu; Sungai Setiu at Jambatan Permaisuri; and Sungai Chalok at Jambatan Chalok in Setiu

\n

METMalaysia also has release latest warning and weather alert as follow:
The Continuous Rainfall Warning (DANGER) is in effect until November 29, 2024, for the following areas:
i) Kelantan;
ii) Terengganu; and
iii) Pahang (Jerantut & Kuantan).

The Continuous Rainfall Warning (SEVERE) is in effect until November 29, 2024, for the following areas:
i) Perlis;
ii) Kedah (Kubang Pasu, Kota Setar, Pokok Sena, Padang Terap, Pendang, Sik & Baling);
iii) Perak (Hulu Perak); and
iv) Pahang (Cameron Highlands, Lipis, Maran, Pekan & Rompin).

The Continuous Rainfall Warning (ALERT) is in effect until November 29, 2024, for the following areas:
i) Kedah (Langkawi, Yan, Kuala Muda, Kulim & Bandar Baharu);
ii) Penang;
iii) Perak (Kerian, Larut, Matang and Selama, Kuala Kangsar, Kinta & Kampar);
iv) Pahang (Raub, Bentong, Temerloh & Bera);
v) Johor (Segamat, Mersing & Kota Tinggi); and
vi) Sabah: Sandakan (Telupid, Beluran & Sandakan) and Kudat

\n

 

", + null + ], + [ + "1", + "7247", + "LTU: Transport Accident - 11-2024 - Cargo flight crash", + "Transport Accident", + "Transport Accident", + "Lithuania", + "LTU", + "2024-11-25", + "Yellow", + null, + "

Around 4 AM local time on 25 November 2024, a DHL cargo flight crashed approx. 2 kms short of the runway. One crew onboard died, another was found injured. Burning debris from the plane impacted a 2-story residential building housing a 12 people. The house and terrain in the impact area has caught fire, while fire was extinguished by responding rescue services, and the 12 inhabitants were evacuated, the residential building has become uninhabitable.

", + null + ], + [ + "2", + "7245", + "TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS", + "Flood", + "FL", + "Tanzania", + "TZA", + "2024-11-24", + "Yellow", + null, + "

Tragic news from Tarime District in the Mara Region of Tanzania confirms that nine members of one family have drowned following heavy rains that caused severe flooding. The floods swept away their home, along with three other houses, leaving several families homeless.

\n

Acting Regional Fire and Rescue Commander Augustine Magere stated that unplanned construction near the river contributed significantly to the tragedy, as the affected houses were located close to the waterway.

\n

This incident highlights the dangers of building in flood-prone areas and underscores the importance of following construction regulations to minimize the risks associated with natural disasters. Authorities are urging residents to prioritize safety and adhere to official guidance in such vulnerable locations.

", + null + ], + [ + "3", + "7245", + "TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS", + "Flood", + "FL", + "United Republic of", + null, + "2024-11-24", + "Yellow", + null, + "

Tragic news from Tarime District in the Mara Region of Tanzania confirms that nine members of one family have drowned following heavy rains that caused severe flooding. The floods swept away their home, along with three other houses, leaving several families homeless.

\n

Acting Regional Fire and Rescue Commander Augustine Magere stated that unplanned construction near the river contributed significantly to the tragedy, as the affected houses were located close to the waterway.

\n

This incident highlights the dangers of building in flood-prone areas and underscores the importance of following construction regulations to minimize the risks associated with natural disasters. Authorities are urging residents to prioritize safety and adhere to official guidance in such vulnerable locations.

", + null + ], + [ + "4", + "7243", + "TTO: Pluvial/Flash Flood - 11-2024 - Intense localized rainfall cased massive flash floods - Northwest Trinidad", + "Pluvial/Flash Flood", + "FL", + "Trinidad and Tobago", + "TTO", + "2024-11-23", + "Yellow", + null, + "

On Saturday 23rd November 2024, around 11am, local weather forecast indicated the approach of a trough system that would bring intense thunderstorm activity across much of Trinidad. Rains began falling across Trinidad on the eastern coast arond noon and the system quickly made its way across Trinidad within a couple of hours. Intense rainfall was concentrated in the northern part of the island while most of the country experienced some amount of rainfall. From 2pm initial reports came in of water levels rising in rivers in the major watercourses in Diego Martin and San Juan/Laventille and flash flooding occuring in typical places across both regions. By 3pm several watercourses began overtopping and flooding nearby street and communties. The Ministry of Rural Development at Local Government began posting notices of flooded areas and warning to avoid areas. Within the Diego Martin area the communties Carenage, Blue Basin, Morne Coco Road, Saddle Road, Maraval and Petit Valley were among the communties affected with street and flashflooding and very localized riverine flooding. A major landslide was reported on the Northcoast Road which leads to popular beaches stranding motorists on either side, and smaller landslides in hilly areas around St. James. As of this time the TTRCS does not have confirmed reports of the possible number of households affected and the extent to flooded communities. 

", + null + ] + ], + "shape": { + "columns": 11, + "rows": 5 + } + }, + "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", + "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeDateSeverityPopulation_AffectedCommentsExternal_IDs
07249MYS: Flood - 11-2024 - East Coast Monsoon Floo...FloodFLMalaysiaMYS2024-11-27YellowNaN<p>The <span style=\"font-size: 10.5pt; font-fa...NaN
17247LTU: Transport Accident - 11-2024 - Cargo flig...Transport AccidentTransport AccidentLithuaniaLTU2024-11-25YellowNaN<p>Around 4 AM local time on 25 November 2024,...NaN
27245TZA: Flood - 11-2024 - TANZANIA TARIME FLOODSFloodFLTanzaniaTZA2024-11-24YellowNaN<p>Tragic news from Tarime District in the Mar...NaN
37245TZA: Flood - 11-2024 - TANZANIA TARIME FLOODSFloodFLUnited Republic ofNaN2024-11-24YellowNaN<p>Tragic news from Tarime District in the Mar...NaN
47243TTO: Pluvial/Flash Flood - 11-2024 - Intense l...Pluvial/Flash FloodFLTrinidad and TobagoTTO2024-11-23YellowNaN<p>On Saturday 23rd November 2024, around 11am...NaN
\n", + "
" + ], + "text/plain": [ + " Source_Event_IDs Event_Name \\\n", + "0 7249 MYS: Flood - 11-2024 - East Coast Monsoon Floo... \n", + "1 7247 LTU: Transport Accident - 11-2024 - Cargo flig... \n", + "2 7245 TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS \n", + "3 7245 TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS \n", + "4 7243 TTO: Pluvial/Flash Flood - 11-2024 - Intense l... \n", + "\n", + " Event_Type Event_Code Country Country_Code \\\n", + "0 Flood FL Malaysia MYS \n", + "1 Transport Accident Transport Accident Lithuania LTU \n", + "2 Flood FL Tanzania TZA \n", + "3 Flood FL United Republic of NaN \n", + "4 Pluvial/Flash Flood FL Trinidad and Tobago TTO \n", + "\n", + " Date Severity Population_Affected \\\n", + "0 2024-11-27 Yellow NaN \n", + "1 2024-11-25 Yellow NaN \n", + "2 2024-11-24 Yellow NaN \n", + "3 2024-11-24 Yellow NaN \n", + "4 2024-11-23 Yellow NaN \n", + "\n", + " Comments External_IDs \n", + "0

The Around 4 AM local time on 25 November 2024,... NaN \n", + "2

Tragic news from Tarime District in the Mar... NaN \n", + "3

Tragic news from Tarime District in the Mar... NaN \n", + "4

On Saturday 23rd November 2024, around 11am... NaN " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pre_dfs = [\n", + " glide_prep_df,\n", + " gdacs_prep_df,\n", + " emdat_prep_df,\n", + " disaster_charter_df,\n", + " cerf_df,\n", + " idmc_df,\n", + " ifrc_df,\n", + "]\n", + "\n", + "for df in pre_dfs:\n", + " display(df.head())" + ] } ], "metadata": { From c06e0abab181ce8f34f62cd3f60f8a5e86a93cab Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 12:21:12 +0000 Subject: [PATCH 03/15] Column exploration --- notebooks/exploration.ipynb | 2358 +---------------------------------- 1 file changed, 32 insertions(+), 2326 deletions(-) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index b781269..98b1d6a 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -54,398 +54,16 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "metadata": {}, "outputs": [ { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Name", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Country_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Location", - "rawType": "object", - "type": "unknown" - }, - { - "name": "Latitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Longitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Year", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Month", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Day", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Time", - "rawType": "object", - "type": "unknown" - }, - { - "name": "Severity", - "rawType": "object", - "type": "unknown" - }, - { - "name": "Source", - "rawType": "object", - "type": "string" - }, - { - "name": "Comments", - "rawType": "object", - "type": "string" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "94409489-4c15-4127-ac5e-1c635a4b8558", - "rows": [ - [ - "0", - "TC-2024-000219-LKA", - "Tropical Cyclone", - "TC", - "TC", - "Sri Lanka", - "LKA", - "Ampara, Batticaloa, Jaffna, Mannar , Kilinochchi, Trincomalee, Mullaitivu, Anuradhapura, Vavuniya", - "8.3113518", - "80.4036508", - "2024-11-23", - "2024", - "11", - "23", - null, - null, - "Sri Lanka Red Cross Society and Sri Lanka's Disaster Management Centre", - "The deep depression in the Bay of Bengal conditions to the northeast of Sri Lanka has caused heavy rains across the country since 23rd November 2024. The heavy rainfall along the coastal side, which has continued since 23rd November, triggered flash floods in the country on 26th November 2024.\n\nOn 29th November 2024, the Department of Meteorology issued a ‘Red' alert warning for Cyclone “FENGAL” over the Southwest Bay of Bengal for the land and the deep and shallow sea areas around the island. As per the warning, the Deep Depression over Southwest Bay of Bengal moved north-northwestwards and intensified into a cyclonic storm “FENGAL” and was located about 280 km northeast of Kankasanthurai and 310 km north-northeast of Trincomalee.\n\nHeavy flash flooding has affected low-lying regions, and disruptions to fisheries have led to warnings from Sri Lanka's Disaster Management Centre. Authorities have advised fishermen to suspend their operations.\n\nSeveral roads and bridges have been damaged, particularly in the Northern, North Central, and Eastern Provinces. The primary route from Colombo to Ratnapura, Wellawaya, and Batticaloa has been temporarily closed, and the public is advised to use alternative routes.\n\nThe Disaster Management Centre reports that 475,000 individuals have been affected across 232 Divisional Secretariat Divisions in 24 districts due to the indirect impacts of Cyclone FENGAL." - ], - [ - "1", - "FL-2024-000218-MYS", - "Flood", - "FL", - "FL", - "Malaysia", - "MYS", - "Kelantan, Terengganu, Kedah, Perlis, Johor, and Perak", - "5.0936342", - "102.989615", - "2024-11-25", - "2024", - "11", - "25", - null, - null, - "Malaysian Red Crescent Society, Official Statistics Malaysia, •\tMalaysia Welfare Department", - "The Northeast Monsoon (MTL) began in early November 2024 and is expected to end by March 2025, during which Malaysia is forecasted to experience five to seven episodes of heavy rainfall. Continuous heavy rain lasting several days has resulted in flooding in low-lying and flood-prone areas, such as Kelantan, Terengganu, and several other regions in Peninsular Malaysia.\n\nAccording to official statistics as of November 28, 2024, a total of 31,798 individuals from 9,613 families have been affected by the Northeast Monsoon floods in both the East and West Coasts. Additionally, six major rivers in Kelantan have surpassed danger levels and are showing rising trends. These include Sungai Lanas in Jeli at 31.28 meters, Sungai Kelantan in Kuala Krai (25.41 meters), Sungai Kelantan in Machang (20.27 meters), Sungai Golok in Rantau Panjang (10.94 meters), Sungai Melor in Bachok (9.85 meters), and Sungai Semerak in Pasir Puteh (3.69 meters).\n\nIn Terengganu, the number of flood victims has risen sharply to 3,768 compared to 1,851 yesterday evening, with a total of 69 Temporary Evacuation Centers (PPS) opened across the districts of Besut, Setiu, Dungun, Hulu Terengganu, Marang, and Kemaman. Besut is the most affected district, recording 2,335 victims housed in 33 PPS, followed by Hulu Terengganu (513 people in 19 PPS), Setiu (388 people in 11 PPS), Dungun (246 people in two PPS), Kemaman (215 people in two PPS), and Marang (71 people in two PPS)." - ], - [ - "2", - "FL-2024-000217-THA", - "Flood", - "FL", - "FL", - "Thailand", - "THA", - "Satun, Surat Thani, Nakhon Si Thammarat, Songkhla, Pattani, Narathiwat, and Yala Provinces", - "6.2020252", - "101.2523792", - "2024-11-26", - "2024", - "11", - "26", - null, - null, - "AHA Centre", - "Continuous heavy rains brought by the northeast monsoon since the last week have caused floods and flash floods over the southern region of Thailand and Peninsular Malaysia as reported by the Department of Disaster Prevention and Mitigation (DDPM) Thailand and Agensi Pengurusan Bencana Negara (NADMA) Malaysia.\nAs of 28 Nov, a total of 136,219 households affected in Satun, Surat Thani, Nakhon Si Thammarat, Songkhla, Pattani, Narathiwat, and Yala Provinces were reported by DDPM Thailand." - ], - [ - "3", - "FL-2024-000216-DOM", - "Flood", - "FL", - "FL", - "Dominican Republic", - "DOM", - null, - "18.735693", - "-70.162651", - "2024-11-14", - "2024", - "11", - "14", - null, - null, - "IFRC", - "As of 14 November, rainfall models predict 60-100 mm of rain over the next 24-48 hours, with 40-80 mm expected in the next 72-120 hours, potentially higher in isolated areas." - ], - [ - "4", - "FL-2024-000215-CRI", - "Flood", - "FL", - "FL", - "Costa Rica", - "CRI", - null, - "9.748917", - "-83.753428", - "2024-11-07", - "2024", - "11", - "7", - null, - null, - "IFRC", - "On 7 November 2024, the National Meteorological Institute (IMN) issued a Meteorological Advisory reporting that, following the indirect influence of Hurricane Rafael, the Intertropical Convergence Zone persisted over the Central American Isthmus. This phenomenon, combined with the passage of Tropical Wave #45, exacerbated soil saturation across various regions of the country, reaching critical levels in both Peninsulas, the North Pacific, South Pacific mountains, Northern Zone, Central Pacific, and Central Valley. Due to the elevated saturation levels, these areas faced significant vulnerability to potential incidents, prompting the IMN to recommend heightened preventive measures" - ] - ], - "shape": { - "columns": 17, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDateYearMonthDayTimeSeveritySourceComments
0TC-2024-000219-LKATropical CycloneTCTCSri LankaLKAAmpara, Batticaloa, Jaffna, Mannar , Kilinochc...8.31135280.4036512024-11-2320241123NaNNaNSri Lanka Red Cross Society and Sri Lanka's Di...The deep depression in the Bay of Bengal condi...
1FL-2024-000218-MYSFloodFLFLMalaysiaMYSKelantan, Terengganu, Kedah, Perlis, Johor, an...5.093634102.9896152024-11-2520241125NaNNaNMalaysian Red Crescent Society, Official Stati...The Northeast Monsoon (MTL) began in early Nov...
2FL-2024-000217-THAFloodFLFLThailandTHASatun, Surat Thani, Nakhon Si Thammarat, Songk...6.202025101.2523792024-11-2620241126NaNNaNAHA CentreContinuous heavy rains brought by the northeas...
3FL-2024-000216-DOMFloodFLFLDominican RepublicDOMNaN18.735693-70.1626512024-11-1420241114NaNNaNIFRCAs of 14 November, rainfall models predict 60-...
4FL-2024-000215-CRIFloodFLFLCosta RicaCRINaN9.748917-83.7534282024-11-072024117NaNNaNIFRCOn 7 November 2024, the National Meteorologica...
\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Name Event_Type Event_Code \\\n", - "0 TC-2024-000219-LKA Tropical Cyclone TC TC \n", - "1 FL-2024-000218-MYS Flood FL FL \n", - "2 FL-2024-000217-THA Flood FL FL \n", - "3 FL-2024-000216-DOM Flood FL FL \n", - "4 FL-2024-000215-CRI Flood FL FL \n", - "\n", - " Country Country_Code \\\n", - "0 Sri Lanka LKA \n", - "1 Malaysia MYS \n", - "2 Thailand THA \n", - "3 Dominican Republic DOM \n", - "4 Costa Rica CRI \n", - "\n", - " Location Latitude Longitude \\\n", - "0 Ampara, Batticaloa, Jaffna, Mannar , Kilinochc... 8.311352 80.403651 \n", - "1 Kelantan, Terengganu, Kedah, Perlis, Johor, an... 5.093634 102.989615 \n", - "2 Satun, Surat Thani, Nakhon Si Thammarat, Songk... 6.202025 101.252379 \n", - "3 NaN 18.735693 -70.162651 \n", - "4 NaN 9.748917 -83.753428 \n", - "\n", - " Date Year Month Day Time Severity \\\n", - "0 2024-11-23 2024 11 23 NaN NaN \n", - "1 2024-11-25 2024 11 25 NaN NaN \n", - "2 2024-11-26 2024 11 26 NaN NaN \n", - "3 2024-11-14 2024 11 14 NaN NaN \n", - "4 2024-11-07 2024 11 7 NaN NaN \n", - "\n", - " Source \\\n", - "0 Sri Lanka Red Cross Society and Sri Lanka's Di... \n", - "1 Malaysian Red Crescent Society, Official Stati... \n", - "2 AHA Centre \n", - "3 IFRC \n", - "4 IFRC \n", - "\n", - " Comments \n", - "0 The deep depression in the Bay of Bengal condi... \n", - "1 The Northeast Monsoon (MTL) began in early Nov... \n", - "2 Continuous heavy rains brought by the northeas... \n", - "3 As of 14 November, rainfall models predict 60-... \n", - "4 On 7 November 2024, the National Meteorologica... " + "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", + " 'Month', 'Day', 'Time', 'Severity', 'Source', 'Comments'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -453,340 +71,11 @@ }, { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Event_Name", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Country_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Location", - "rawType": "object", - "type": "string" - }, - { - "name": "Latitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Longitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Year", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Severity", - "rawType": "float64", - "type": "float" - }, - { - "name": "Population_Affected", - "rawType": "float64", - "type": "float" - }, - { - "name": "Alert_Level", - "rawType": "object", - "type": "string" - }, - { - "name": "End_Date", - "rawType": "object", - "type": "string" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "c1630f7f-5afe-4ee5-b1dd-ff97608f2a87", - "rows": [ - [ - "0", - "4216", - "Earthquake in Afghanistan", - "EQ", - "EQ", - "Afghanistan", - "AFG", - "['Afghanistan']", - "36.2", - "70.4", - "2000-01-19", - "2000", - "6.4", - null, - "Red", - "2000-01-19" - ], - [ - "1", - "4206", - "Earthquake in Iran", - "EQ", - "EQ", - "Iran", - "IRN", - "[]", - "35.217", - "58.175", - "2000-02-14", - "2000", - "4.9", - null, - "Green", - "2000-02-14" - ], - [ - "2", - "4273", - "Earthquake in Iran", - "EQ", - "EQ", - "Iran", - "IRN", - "[]", - "35.288", - "58.218", - "2000-02-03", - "2000", - "5.3", - null, - "Green", - "2000-02-03" - ], - [ - "3", - "1583", - "Flood in Mozambique", - "FL", - "FL", - "Mozambique", - "MOZ", - "['Mozambique']", - "-27.822", - "31.712", - "2000-01-26", - "2000", - "7.74", - null, - "ORANGE", - "2000-03-27" - ], - [ - "4", - "1587", - "Flood in Madagascar", - "FL", - "FL", - "Madagascar", - "MDG", - "['Madagascar']", - "-15.783", - "47.296", - "2000-02-17", - "2000", - "6.79", - null, - "RED", - "2000-03-11" - ] - ], - "shape": { - "columns": 15, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDateYearSeverityPopulation_AffectedAlert_LevelEnd_Date
04216Earthquake in AfghanistanEQEQAfghanistanAFG['Afghanistan']36.20070.4002000-01-1920006.40NaNRed2000-01-19
14206Earthquake in IranEQEQIranIRN[]35.21758.1752000-02-1420004.90NaNGreen2000-02-14
24273Earthquake in IranEQEQIranIRN[]35.28858.2182000-02-0320005.30NaNGreen2000-02-03
31583Flood in MozambiqueFLFLMozambiqueMOZ['Mozambique']-27.82231.7122000-01-2620007.74NaNORANGE2000-03-27
41587Flood in MadagascarFLFLMadagascarMDG['Madagascar']-15.78347.2962000-02-1720006.79NaNRED2000-03-11
\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Name Event_Type Event_Code \\\n", - "0 4216 Earthquake in Afghanistan EQ EQ \n", - "1 4206 Earthquake in Iran EQ EQ \n", - "2 4273 Earthquake in Iran EQ EQ \n", - "3 1583 Flood in Mozambique FL FL \n", - "4 1587 Flood in Madagascar FL FL \n", - "\n", - " Country Country_Code Location Latitude Longitude Date \\\n", - "0 Afghanistan AFG ['Afghanistan'] 36.200 70.400 2000-01-19 \n", - "1 Iran IRN [] 35.217 58.175 2000-02-14 \n", - "2 Iran IRN [] 35.288 58.218 2000-02-03 \n", - "3 Mozambique MOZ ['Mozambique'] -27.822 31.712 2000-01-26 \n", - "4 Madagascar MDG ['Madagascar'] -15.783 47.296 2000-02-17 \n", - "\n", - " Year Severity Population_Affected Alert_Level End_Date \n", - "0 2000 6.40 NaN Red 2000-01-19 \n", - "1 2000 4.90 NaN Green 2000-02-14 \n", - "2 2000 5.30 NaN Green 2000-02-03 \n", - "3 2000 7.74 NaN ORANGE 2000-03-27 \n", - "4 2000 6.79 NaN RED 2000-03-11 " + "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", + " 'Severity', 'Population_Affected', 'Alert_Level', 'End_Date'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -794,453 +83,13 @@ }, { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Name", - "rawType": "object", - "type": "unknown" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Country_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Location", - "rawType": "object", - "type": "string" - }, - { - "name": "Latitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Longitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Year", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Month", - "rawType": "float64", - "type": "float" - }, - { - "name": "Day", - "rawType": "float64", - "type": "float" - }, - { - "name": "Severity", - "rawType": "float64", - "type": "float" - }, - { - "name": "Population_Affected", - "rawType": "float64", - "type": "float" - }, - { - "name": "Fatalities", - "rawType": "float64", - "type": "float" - }, - { - "name": "People_Displaced", - "rawType": "float64", - "type": "float" - }, - { - "name": "Financial_Loss", - "rawType": "float64", - "type": "float" - }, - { - "name": "AID_Contribution", - "rawType": "float64", - "type": "float" - }, - { - "name": "Admin_Units", - "rawType": "object", - "type": "string" - }, - { - "name": "External_IDs", - "rawType": "object", - "type": "unknown" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "653c046b-6d2b-46aa-98a8-59d0cfecc38a", - "rows": [ - [ - "0", - "1999-9388-DJI", - null, - "Drought", - "DR", - "Djibouti", - "DJI", - "Ali Sabieh, Dikhil, Djibouti, Obock, Tadjourah provinces", - null, - null, - "2001-06-01", - "2001", - "6.0", - null, - null, - "100000.0", - null, - null, - null, - "1556.0", - "[{\"adm1_code\":1093,\"adm1_name\":\"Ali Sabieh\"},{\"adm1_code\":1094,\"adm1_name\":\"Dikhil\"},{\"adm1_code\":1095,\"adm1_name\":\"Djibouti\"},{\"adm1_code\":1096,\"adm1_name\":\"Obock\"},{\"adm1_code\":1097,\"adm1_name\":\"Tadjourah\"}]", - null - ], - [ - "1", - "1999-9388-SDN", - null, - "Drought", - "DR", - "Sudan", - "SDN", - "Northern Darfur, Northern Kordofan, Red Sea provinces", - null, - null, - "2000-01-01", - "2000", - "1.0", - null, - null, - "2000000.0", - null, - null, - null, - null, - "[{\"adm1_code\":2757,\"adm1_name\":\"Northern Darfur\"},{\"adm1_code\":40772,\"adm1_name\":\"Red Sea\"},{\"adm1_code\":68784,\"adm1_name\":\"Northern Kordofan\"}]", - null - ], - [ - "2", - "1999-9388-SOM", - null, - "Drought", - "DR", - "Somalia", - "SOM", - "Ceel Barde, Rab Dhuure, Tayeeglow, Xudur districts (Bakool province), Garbahaarey, Baardheere districts (Gedo province), Bay, Hiraan provinces ", - null, - null, - "2000-01-01", - "2000", - "1.0", - null, - null, - "1200000.0", - "21.0", - null, - null, - null, - "[{\"adm1_code\":2691,\"adm1_name\":\"Bay\"},{\"adm1_code\":2695,\"adm1_name\":\"Hiraan\"},{\"adm2_code\":25657,\"adm2_name\":\"Ceel Barde\"},{\"adm2_code\":25658,\"adm2_name\":\"Rab Dhuure\"},{\"adm2_code\":25659,\"adm2_name\":\"Tayeeglow\"},{\"adm2_code\":25661,\"adm2_name\":\"Xudur\"},{\"adm2_code\":25678,\"adm2_name\":\"Baardheere\"},{\"adm2_code\":25682,\"adm2_name\":\"Garbahaarey\"}]", - null - ], - [ - "3", - "2000-0002-AGO", - null, - "Flood", - "FL", - "Angola", - "AGO", - "Dombre Grande village (Baia Farta district, Benguela province), Massangano village (Cambambe district, Kuanza Norte province)", - null, - null, - "2000-01-08", - "2000", - "1.0", - "8.0", - "47000.0", - "70000.0", - "31.0", - null, - "10000.0", - null, - "[{\"adm2_code\":4214,\"adm2_name\":\"Baia Farta\"},{\"adm2_code\":4291,\"adm2_name\":\"Cambambe\"}]", - null - ], - [ - "4", - "2000-0003-BGD", - null, - "Extreme temperature", - "HW/CW", - "Bangladesh", - "BGD", - "Barisal, Chittagong, Dhaka, Khulna, Rajshahi, Rangpur, Sylhet provinces", - null, - null, - "2000-01-01", - "2000", - "1.0", - null, - "6.4", - null, - "49.0", - null, - null, - null, - "[{\"adm1_code\":575,\"adm1_name\":\"Barisal\"},{\"adm1_code\":576,\"adm1_name\":\"Chittagong\"},{\"adm1_code\":577,\"adm1_name\":\"Dhaka\"},{\"adm1_code\":578,\"adm1_name\":\"Khulna\"},{\"adm1_code\":580,\"adm1_name\":\"Sylhet\"},{\"adm1_code\":61362,\"adm1_name\":\"Rajshahi\"},{\"adm1_code\":61363,\"adm1_name\":\"Rangpur\"}]", - null - ] - ], - "shape": { - "columns": 21, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDate...MonthDaySeverityPopulation_AffectedFatalitiesPeople_DisplacedFinancial_LossAID_ContributionAdmin_UnitsExternal_IDs
01999-9388-DJINaNDroughtDRDjiboutiDJIAli Sabieh, Dikhil, Djibouti, Obock, Tadjourah...NaNNaN2001-06-01...6.0NaNNaN100000.0NaNNaNNaN1556.0[{\"adm1_code\":1093,\"adm1_name\":\"Ali Sabieh\"},{...NaN
11999-9388-SDNNaNDroughtDRSudanSDNNorthern Darfur, Northern Kordofan, Red Sea pr...NaNNaN2000-01-01...1.0NaNNaN2000000.0NaNNaNNaNNaN[{\"adm1_code\":2757,\"adm1_name\":\"Northern Darfu...NaN
21999-9388-SOMNaNDroughtDRSomaliaSOMCeel Barde, Rab Dhuure, Tayeeglow, Xudur distr...NaNNaN2000-01-01...1.0NaNNaN1200000.021.0NaNNaNNaN[{\"adm1_code\":2691,\"adm1_name\":\"Bay\"},{\"adm1_c...NaN
32000-0002-AGONaNFloodFLAngolaAGODombre Grande village (Baia Farta district, Be...NaNNaN2000-01-08...1.08.047000.070000.031.0NaN10000.0NaN[{\"adm2_code\":4214,\"adm2_name\":\"Baia Farta\"},{...NaN
42000-0003-BGDNaNExtreme temperatureHW/CWBangladeshBGDBarisal, Chittagong, Dhaka, Khulna, Rajshahi, ...NaNNaN2000-01-01...1.0NaN6.4NaN49.0NaNNaNNaN[{\"adm1_code\":575,\"adm1_name\":\"Barisal\"},{\"adm...NaN
\n", - "

5 rows × 21 columns

\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Name Event_Type Event_Code Country \\\n", - "0 1999-9388-DJI NaN Drought DR Djibouti \n", - "1 1999-9388-SDN NaN Drought DR Sudan \n", - "2 1999-9388-SOM NaN Drought DR Somalia \n", - "3 2000-0002-AGO NaN Flood FL Angola \n", - "4 2000-0003-BGD NaN Extreme temperature HW/CW Bangladesh \n", - "\n", - " Country_Code Location Latitude \\\n", - "0 DJI Ali Sabieh, Dikhil, Djibouti, Obock, Tadjourah... NaN \n", - "1 SDN Northern Darfur, Northern Kordofan, Red Sea pr... NaN \n", - "2 SOM Ceel Barde, Rab Dhuure, Tayeeglow, Xudur distr... NaN \n", - "3 AGO Dombre Grande village (Baia Farta district, Be... NaN \n", - "4 BGD Barisal, Chittagong, Dhaka, Khulna, Rajshahi, ... NaN \n", - "\n", - " Longitude Date ... Month Day Severity Population_Affected \\\n", - "0 NaN 2001-06-01 ... 6.0 NaN NaN 100000.0 \n", - "1 NaN 2000-01-01 ... 1.0 NaN NaN 2000000.0 \n", - "2 NaN 2000-01-01 ... 1.0 NaN NaN 1200000.0 \n", - "3 NaN 2000-01-08 ... 1.0 8.0 47000.0 70000.0 \n", - "4 NaN 2000-01-01 ... 1.0 NaN 6.4 NaN \n", - "\n", - " Fatalities People_Displaced Financial_Loss AID_Contribution \\\n", - "0 NaN NaN NaN 1556.0 \n", - "1 NaN NaN NaN NaN \n", - "2 21.0 NaN NaN NaN \n", - "3 31.0 NaN 10000.0 NaN \n", - "4 49.0 NaN NaN NaN \n", - "\n", - " Admin_Units External_IDs \n", - "0 [{\"adm1_code\":1093,\"adm1_name\":\"Ali Sabieh\"},{... NaN \n", - "1 [{\"adm1_code\":2757,\"adm1_name\":\"Northern Darfu... NaN \n", - "2 [{\"adm1_code\":2691,\"adm1_name\":\"Bay\"},{\"adm1_c... NaN \n", - "3 [{\"adm2_code\":4214,\"adm2_name\":\"Baia Farta\"},{... NaN \n", - "4 [{\"adm1_code\":575,\"adm1_name\":\"Barisal\"},{\"adm... NaN \n", - "\n", - "[5 rows x 21 columns]" + "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", + " 'Month', 'Day', 'Severity', 'Population_Affected', 'Fatalities',\n", + " 'People_Displaced', 'Financial_Loss', 'AID_Contribution', 'Admin_Units',\n", + " 'External_IDs'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -1248,260 +97,10 @@ }, { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "float64", - "type": "float" - }, - { - "name": "Event_Name", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Year", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Month", - "rawType": "object", - "type": "string" - }, - { - "name": "Time", - "rawType": "object", - "type": "string" - }, - { - "name": "External_Links", - "rawType": "object", - "type": "string" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "caedeb2e-59e6-40a7-a162-91f52c8bd489", - "rows": [ - [ - "0", - "922.0", - "Oil spill in Samoa", - "Oil spill", - "Oil spill", - "Samoa", - "2024-10-16", - "2024", - "October", - "18:09", - "https://disasterscharter.org/web/guest/activations/-/article/oil-spill-in-samoa-activation-922-" - ], - [ - "1", - "921.0", - "Flood in Sri Lanka", - "Flood", - "FL", - "Sri Lanka", - "2024-10-12", - "2024", - "October", - "12:20", - "https://disasterscharter.org/web/guest/activations/-/article/flood-in-sri-lanka-activation-921-" - ], - [ - "2", - "920.0", - "Hurricane Milton in the United States", - "Flood", - "FL", - "United States", - "2024-10-09", - "2024", - "October", - "12:42", - "https://disasterscharter.org/web/guest/activations/-/article/storm-hurricane-in-united-states-activation-920-" - ], - [ - "3", - "919.0", - "Flood in Nepal", - "Flood", - "FL", - "Nepal", - "2024-09-29", - "2024", - "September", - "12:27", - "https://disasterscharter.org/web/guest/activations/-/article/flood-in-nepal-activation-919-" - ], - [ - "4", - "918.0", - "Hurricane John in Mexico", - "Flood", - "FL", - "Mexico", - "2024-09-28", - "2024", - "September", - "12:02", - "https://disasterscharter.org/web/guest/activations/-/article/flood-in-mexico-activation-918-" - ] - ], - "shape": { - "columns": 10, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryDateYearMonthTimeExternal_Links
0922.0Oil spill in SamoaOil spillOil spillSamoa2024-10-162024October18:09https://disasterscharter.org/web/guest/activat...
1921.0Flood in Sri LankaFloodFLSri Lanka2024-10-122024October12:20https://disasterscharter.org/web/guest/activat...
2920.0Hurricane Milton in the United StatesFloodFLUnited States2024-10-092024October12:42https://disasterscharter.org/web/guest/activat...
3919.0Flood in NepalFloodFLNepal2024-09-292024September12:27https://disasterscharter.org/web/guest/activat...
4918.0Hurricane John in MexicoFloodFLMexico2024-09-282024September12:02https://disasterscharter.org/web/guest/activat...
\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Name Event_Type \\\n", - "0 922.0 Oil spill in Samoa Oil spill \n", - "1 921.0 Flood in Sri Lanka Flood \n", - "2 920.0 Hurricane Milton in the United States Flood \n", - "3 919.0 Flood in Nepal Flood \n", - "4 918.0 Hurricane John in Mexico Flood \n", - "\n", - " Event_Code Country Date Year Month Time \\\n", - "0 Oil spill Samoa 2024-10-16 2024 October 18:09 \n", - "1 FL Sri Lanka 2024-10-12 2024 October 12:20 \n", - "2 FL United States 2024-10-09 2024 October 12:42 \n", - "3 FL Nepal 2024-09-29 2024 September 12:27 \n", - "4 FL Mexico 2024-09-28 2024 September 12:02 \n", - "\n", - " External_Links \n", - "0 https://disasterscharter.org/web/guest/activat... \n", - "1 https://disasterscharter.org/web/guest/activat... \n", - "2 https://disasterscharter.org/web/guest/activat... \n", - "3 https://disasterscharter.org/web/guest/activat... \n", - "4 https://disasterscharter.org/web/guest/activat... " + "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Date', 'Year', 'Month', 'Time', 'External_Links'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -1509,267 +108,11 @@ }, { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Country_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Source", - "rawType": "object", - "type": "string" - }, - { - "name": "Comments", - "rawType": "object", - "type": "string" - }, - { - "name": "AID_Contribution", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Disbursement_Date", - "rawType": "object", - "type": "string" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "6610c706-6451-4b52-9662-0662cc794e2c", - "rows": [ - [ - "0", - "06-RR-CAF-1057", - "Displacement", - "Displacement", - "Central African Republic", - "CAF", - "2006-07-31", - "United Nations High Commissioner for Refugees", - "Life-saving protection activities for the internally-displaced population in the prefectures of Ouham and Ouham-Pende in Northern CAR (06-HCR-147)", - "150000", - "13/09/2006" - ], - [ - "1", - "06-RR-CAF-1057", - "Displacement", - "Displacement", - "Central African Republic", - "CAF", - "2006-07-28", - "United Nations Children’s Fund", - "Emergency life saving assistance to the IDPs in the prefectures of Ouham Pendé (06-CEF-062)", - "369750", - "09/08/2006" - ], - [ - "2", - "06-RR-CAF-1057", - "Displacement", - "Displacement", - "Central African Republic", - "CAF", - "2006-07-28", - "United Nations Children’s Fund", - "Life-saving protection activities for IDPs in the prefectures of Ouham and Ouham-Pendé in northern CAR. (06-CEF-149)", - "80250", - "09/08/2006" - ], - [ - "3", - "06-RR-CAF-1057", - "Displacement", - "Displacement", - "Central African Republic", - "CAF", - "2006-07-28", - "World Food Programme", - "Assistance to the longstanding affected population in north western regions of CAR (06-WFP-061)", - "1200000", - "24/08/2006" - ], - [ - "4", - "06-RR-TCD-1755", - "Displacement", - "Displacement", - "Chad", - "TCD", - "2006-06-23", - "Food and Agriculture Organization", - "Emergency assistance to 10000 IDPs in eastern Chad through seeds and agricultural tools supply (06-FAO-072)", - "269333", - "14/08/2006" - ] - ], - "shape": { - "columns": 10, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_TypeEvent_CodeCountryCountry_CodeDateSourceCommentsAID_ContributionDisbursement_Date
006-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-31United Nations High Commissioner for RefugeesLife-saving protection activities for the inte...15000013/09/2006
106-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-28United Nations Children’s FundEmergency life saving assistance to the IDPs i...36975009/08/2006
206-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-28United Nations Children’s FundLife-saving protection activities for IDPs in ...8025009/08/2006
306-RR-CAF-1057DisplacementDisplacementCentral African RepublicCAF2006-07-28World Food ProgrammeAssistance to the longstanding affected popula...120000024/08/2006
406-RR-TCD-1755DisplacementDisplacementChadTCD2006-06-23Food and Agriculture OrganizationEmergency assistance to 10000 IDPs in eastern ...26933314/08/2006
\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Type Event_Code Country \\\n", - "0 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", - "1 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", - "2 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", - "3 06-RR-CAF-1057 Displacement Displacement Central African Republic \n", - "4 06-RR-TCD-1755 Displacement Displacement Chad \n", - "\n", - " Country_Code Date Source \\\n", - "0 CAF 2006-07-31 United Nations High Commissioner for Refugees \n", - "1 CAF 2006-07-28 United Nations Children’s Fund \n", - "2 CAF 2006-07-28 United Nations Children’s Fund \n", - "3 CAF 2006-07-28 World Food Programme \n", - "4 TCD 2006-06-23 Food and Agriculture Organization \n", - "\n", - " Comments AID_Contribution \\\n", - "0 Life-saving protection activities for the inte... 150000 \n", - "1 Emergency life saving assistance to the IDPs i... 369750 \n", - "2 Life-saving protection activities for IDPs in ... 80250 \n", - "3 Assistance to the longstanding affected popula... 1200000 \n", - "4 Emergency assistance to 10000 IDPs in eastern ... 269333 \n", - "\n", - " Disbursement_Date \n", - "0 13/09/2006 \n", - "1 09/08/2006 \n", - "2 09/08/2006 \n", - "3 24/08/2006 \n", - "4 14/08/2006 " + "Index(['Source_Event_IDs', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Country_Code', 'Date', 'Source', 'Comments', 'AID_Contribution',\n", + " 'Disbursement_Date'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -1777,377 +120,12 @@ }, { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Event_Name", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Country_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Location", - "rawType": "object", - "type": "string" - }, - { - "name": "Latitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Longitude", - "rawType": "float64", - "type": "float" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Year", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Population_Affected", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source", - "rawType": "object", - "type": "string" - }, - { - "name": "Comments", - "rawType": "object", - "type": "string" - }, - { - "name": "External_Links", - "rawType": "object", - "type": "string" - }, - { - "name": "External_IDs", - "rawType": "object", - "type": "unknown" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "3e5aedde-cab3-45a3-bafc-871135a474d4", - "rows": [ - [ - "0", - "22790", - "Ukraine: International armed conflict (IAC) - Donetsk - 2024", - "Conflict", - "Conflict", - "Ukraine", - "UKR", - "Donetsk Oblast, Ukraine", - "47.96067", - "37.834438", - "2024-11-27", - "2024", - "313", - "National Police of Ukraine", - " Ukraine: 313 displacements (evacuated), 27 November - 27 November ", - "https://www.npu.gov.ua/news/rosiiany-poranyly-trokh-zhyteliv-donechchyny-politsiia-zadokumentuvala-voienni-zlochyny", - null - ], - [ - "1", - "28233", - "Argentina: Storm - Corrientes (Esquina) - 27/11/2024", - "Disaster", - "UNSPECIFIED", - "Argentina", - "ARG", - "Esquina, Departamento Esquina, Corrientes, Argentina", - "-29.95343", - "-59.27602", - "2024-11-27", - "2024", - "2", - "Local Authorities", - " Argentina: 2 displacements (evacuated), 27 November - 27 November ", - "https://www.radiodos.com.ar/179749-esquina-mas-de-cien-familias-afectadas-por-el-temporal", - null - ], - [ - "2", - "20827", - "Ukraine: International armed conflict (IAC) - Countrywide - 2024", - "Conflict", - "Conflict", - "Ukraine", - "UKR", - "Borivske, Shevchenkove Raion, Kharkiv Oblast, Ukraine- Kupiansk, Куп’янська міська рада, Kharkiv Oblast, Ukraine", - "49.6746405", - "37.476654", - "2024-11-27", - "2024", - "64", - "Regional Government", - " Ukraine: 64 displacements (evacuated), 27 November - 27 November ", - "https://t.me/synegubov/12250", - null - ], - [ - "3", - "22790", - "Ukraine: International armed conflict (IAC) - Donetsk - 2024", - "Conflict", - "Conflict", - "Ukraine", - "UKR", - "Donetsk Oblast, Ukraine", - "47.96067", - "37.834438", - "2024-11-26", - "2024", - "162", - "National Police of Ukraine", - " Ukraine: 162 displacements (evacuated), 26 November - 26 November ", - "https://www.npu.gov.ua/news/ye-zahyblyi-i-poranenyi-poshkodzheno-piv-sotni-budynkiv-naslidky-rosiiskoi-ahresii-na-donechchyni-za-dobu", - null - ], - [ - "4", - "20827", - "Ukraine: International armed conflict (IAC) - Countrywide - 2024", - "Conflict", - "Conflict", - "Ukraine", - "UKR", - "Borivske, Shevchenkove Raion, Kharkiv Oblast, Ukraine- Kupiansk, Куп’янська міська рада, Kharkiv Oblast, Ukraine", - "49.6746405", - "37.476654", - "2024-11-26", - "2024", - "51", - "Regional Government", - " Ukraine: 51 displacements (evacuated), 26 November - 26 November ", - "https://t.me/synegubov/12239", - null - ] - ], - "shape": { - "columns": 16, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeLocationLatitudeLongitudeDateYearPopulation_AffectedSourceCommentsExternal_LinksExternal_IDs
022790Ukraine: International armed conflict (IAC) - ...ConflictConflictUkraineUKRDonetsk Oblast, Ukraine47.96067037.8344382024-11-272024313National Police of Ukraine<b> Ukraine: 313 displacements (e...https://www.npu.gov.ua/news/rosiiany-poranyly-...NaN
128233Argentina: Storm - Corrientes (Esquina) - 27/1...DisasterUNSPECIFIEDArgentinaARGEsquina, Departamento Esquina, Corrientes, Arg...-29.953430-59.2760202024-11-2720242Local Authorities<b> Argentina: 2 displacements ...https://www.radiodos.com.ar/179749-esquina-mas...NaN
220827Ukraine: International armed conflict (IAC) -...ConflictConflictUkraineUKRBorivske, Shevchenkove Raion, Kharkiv Oblast, ...49.67464137.4766542024-11-27202464Regional Government<b> Ukraine: 64 displacements (e...https://t.me/synegubov/12250NaN
322790Ukraine: International armed conflict (IAC) - ...ConflictConflictUkraineUKRDonetsk Oblast, Ukraine47.96067037.8344382024-11-262024162National Police of Ukraine<b> Ukraine: 162 displacements (e...https://www.npu.gov.ua/news/ye-zahyblyi-i-pora...NaN
420827Ukraine: International armed conflict (IAC) -...ConflictConflictUkraineUKRBorivske, Shevchenkove Raion, Kharkiv Oblast, ...49.67464137.4766542024-11-26202451Regional Government<b> Ukraine: 51 displacements (e...https://t.me/synegubov/12239NaN
\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Name \\\n", - "0 22790 Ukraine: International armed conflict (IAC) - ... \n", - "1 28233 Argentina: Storm - Corrientes (Esquina) - 27/1... \n", - "2 20827 Ukraine: International armed conflict (IAC) -... \n", - "3 22790 Ukraine: International armed conflict (IAC) - ... \n", - "4 20827 Ukraine: International armed conflict (IAC) -... \n", - "\n", - " Event_Type Event_Code Country Country_Code \\\n", - "0 Conflict Conflict Ukraine UKR \n", - "1 Disaster UNSPECIFIED Argentina ARG \n", - "2 Conflict Conflict Ukraine UKR \n", - "3 Conflict Conflict Ukraine UKR \n", - "4 Conflict Conflict Ukraine UKR \n", - "\n", - " Location Latitude Longitude \\\n", - "0 Donetsk Oblast, Ukraine 47.960670 37.834438 \n", - "1 Esquina, Departamento Esquina, Corrientes, Arg... -29.953430 -59.276020 \n", - "2 Borivske, Shevchenkove Raion, Kharkiv Oblast, ... 49.674641 37.476654 \n", - "3 Donetsk Oblast, Ukraine 47.960670 37.834438 \n", - "4 Borivske, Shevchenkove Raion, Kharkiv Oblast, ... 49.674641 37.476654 \n", - "\n", - " Date Year Population_Affected Source \\\n", - "0 2024-11-27 2024 313 National Police of Ukraine \n", - "1 2024-11-27 2024 2 Local Authorities \n", - "2 2024-11-27 2024 64 Regional Government \n", - "3 2024-11-26 2024 162 National Police of Ukraine \n", - "4 2024-11-26 2024 51 Regional Government \n", - "\n", - " Comments \\\n", - "0 Ukraine: 313 displacements (e... \n", - "1 Argentina: 2 displacements ... \n", - "2 Ukraine: 64 displacements (e... \n", - "3 Ukraine: 162 displacements (e... \n", - "4 Ukraine: 51 displacements (e... \n", - "\n", - " External_Links External_IDs \n", - "0 https://www.npu.gov.ua/news/rosiiany-poranyly-... NaN \n", - "1 https://www.radiodos.com.ar/179749-esquina-mas... NaN \n", - "2 https://t.me/synegubov/12250 NaN \n", - "3 https://www.npu.gov.ua/news/ye-zahyblyi-i-pora... NaN \n", - "4 https://t.me/synegubov/12239 NaN " + "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", + " 'Population_Affected', 'Source', 'Comments', 'External_Links',\n", + " 'External_IDs'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -2155,283 +133,11 @@ }, { "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Source_Event_IDs", - "rawType": "int64", - "type": "integer" - }, - { - "name": "Event_Name", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Type", - "rawType": "object", - "type": "string" - }, - { - "name": "Event_Code", - "rawType": "object", - "type": "string" - }, - { - "name": "Country", - "rawType": "object", - "type": "string" - }, - { - "name": "Country_Code", - "rawType": "object", - "type": "unknown" - }, - { - "name": "Date", - "rawType": "object", - "type": "string" - }, - { - "name": "Severity", - "rawType": "object", - "type": "string" - }, - { - "name": "Population_Affected", - "rawType": "float64", - "type": "float" - }, - { - "name": "Comments", - "rawType": "object", - "type": "string" - }, - { - "name": "External_IDs", - "rawType": "object", - "type": "unknown" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "16910f77-6718-43e4-beca-f596811fd604", - "rows": [ - [ - "0", - "7249", - "MYS: Flood - 11-2024 - East Coast Monsoon Flood 2024", - "Flood", - "FL", - "Malaysia", - "MYS", - "2024-11-27", - "Yellow", - null, - "

The Northeast Monsoon (MTL) began in early November 2024 and is expected to end by March 2025, during which Malaysia is forecasted to experience five to seven episodes of heavy rainfall. Continuous heavy rain lasting several days has resulted in flooding in low-lying and flood-prone areas, such as Kelantan, Terengganu, and several other regions in Peninsular Malaysia.

\n

According to official statistics as of November 28, 2024, a total of 31,798 individuals from 9,613 families have been affected by the Northeast Monsoon floods in both the East and West Coasts. The affected states include Kelantan, Terengganu, Kedah, Perlis, Johor, and Perak. Official reports from the Social Welfare Department (JKM) indicate that 296 Temporary Evacuation Centers (PPS) have been established to accommodate those impacted. In Kelantan, electricity supply has been cut off in 17 areas across four districts due to worsening flood conditions. To date, only one fatality—a 33-year-old victim in Kelantan—has been reported, caused by electrocution.

\n

Additionally, six major rivers in Kelantan have surpassed danger levels and are showing rising trends. These include Sungai Lanas in Jeli at 31.28 meters, Sungai Kelantan in Kuala Krai (25.41 meters), Sungai Kelantan in Machang (20.27 meters), Sungai Golok in Rantau Panjang (10.94 meters), Sungai Melor in Bachok (9.85 meters), and Sungai Semerak in Pasir Puteh (3.69 meters).

In Terengganu, the number of flood victims has risen sharply to 3,768 compared to 1,851 yesterday evening, with a total of 69 Temporary Evacuation Centers (PPS) opened across the districts of Besut, Setiu, Dungun, Hulu Terengganu, Marang, and Kemaman. Besut is the most affected district, recording 2,335 victims housed in 33 PPS, followed by Hulu Terengganu (513 people in 19 PPS), Setiu (388 people in 11 PPS), Dungun (246 people in two PPS), Kemaman (215 people in two PPS), and Marang (71 people in two PPS).

River levels at 11 stations in the state have also recorded readings exceeding the danger level, including Sungai Besut at Jambatan Keruak and Sungai Besut at Kampung La in Besut; Sungai Nerus at Kampung Langkap and Sungai Setiu at Kampung Besut in Setiu; Sungai Setiu at Jambatan Permaisuri; and Sungai Chalok at Jambatan Chalok in Setiu

\n

METMalaysia also has release latest warning and weather alert as follow:
The Continuous Rainfall Warning (DANGER) is in effect until November 29, 2024, for the following areas:
i) Kelantan;
ii) Terengganu; and
iii) Pahang (Jerantut & Kuantan).

The Continuous Rainfall Warning (SEVERE) is in effect until November 29, 2024, for the following areas:
i) Perlis;
ii) Kedah (Kubang Pasu, Kota Setar, Pokok Sena, Padang Terap, Pendang, Sik & Baling);
iii) Perak (Hulu Perak); and
iv) Pahang (Cameron Highlands, Lipis, Maran, Pekan & Rompin).

The Continuous Rainfall Warning (ALERT) is in effect until November 29, 2024, for the following areas:
i) Kedah (Langkawi, Yan, Kuala Muda, Kulim & Bandar Baharu);
ii) Penang;
iii) Perak (Kerian, Larut, Matang and Selama, Kuala Kangsar, Kinta & Kampar);
iv) Pahang (Raub, Bentong, Temerloh & Bera);
v) Johor (Segamat, Mersing & Kota Tinggi); and
vi) Sabah: Sandakan (Telupid, Beluran & Sandakan) and Kudat

\n

 

", - null - ], - [ - "1", - "7247", - "LTU: Transport Accident - 11-2024 - Cargo flight crash", - "Transport Accident", - "Transport Accident", - "Lithuania", - "LTU", - "2024-11-25", - "Yellow", - null, - "

Around 4 AM local time on 25 November 2024, a DHL cargo flight crashed approx. 2 kms short of the runway. One crew onboard died, another was found injured. Burning debris from the plane impacted a 2-story residential building housing a 12 people. The house and terrain in the impact area has caught fire, while fire was extinguished by responding rescue services, and the 12 inhabitants were evacuated, the residential building has become uninhabitable.

", - null - ], - [ - "2", - "7245", - "TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS", - "Flood", - "FL", - "Tanzania", - "TZA", - "2024-11-24", - "Yellow", - null, - "

Tragic news from Tarime District in the Mara Region of Tanzania confirms that nine members of one family have drowned following heavy rains that caused severe flooding. The floods swept away their home, along with three other houses, leaving several families homeless.

\n

Acting Regional Fire and Rescue Commander Augustine Magere stated that unplanned construction near the river contributed significantly to the tragedy, as the affected houses were located close to the waterway.

\n

This incident highlights the dangers of building in flood-prone areas and underscores the importance of following construction regulations to minimize the risks associated with natural disasters. Authorities are urging residents to prioritize safety and adhere to official guidance in such vulnerable locations.

", - null - ], - [ - "3", - "7245", - "TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS", - "Flood", - "FL", - "United Republic of", - null, - "2024-11-24", - "Yellow", - null, - "

Tragic news from Tarime District in the Mara Region of Tanzania confirms that nine members of one family have drowned following heavy rains that caused severe flooding. The floods swept away their home, along with three other houses, leaving several families homeless.

\n

Acting Regional Fire and Rescue Commander Augustine Magere stated that unplanned construction near the river contributed significantly to the tragedy, as the affected houses were located close to the waterway.

\n

This incident highlights the dangers of building in flood-prone areas and underscores the importance of following construction regulations to minimize the risks associated with natural disasters. Authorities are urging residents to prioritize safety and adhere to official guidance in such vulnerable locations.

", - null - ], - [ - "4", - "7243", - "TTO: Pluvial/Flash Flood - 11-2024 - Intense localized rainfall cased massive flash floods - Northwest Trinidad", - "Pluvial/Flash Flood", - "FL", - "Trinidad and Tobago", - "TTO", - "2024-11-23", - "Yellow", - null, - "

On Saturday 23rd November 2024, around 11am, local weather forecast indicated the approach of a trough system that would bring intense thunderstorm activity across much of Trinidad. Rains began falling across Trinidad on the eastern coast arond noon and the system quickly made its way across Trinidad within a couple of hours. Intense rainfall was concentrated in the northern part of the island while most of the country experienced some amount of rainfall. From 2pm initial reports came in of water levels rising in rivers in the major watercourses in Diego Martin and San Juan/Laventille and flash flooding occuring in typical places across both regions. By 3pm several watercourses began overtopping and flooding nearby street and communties. The Ministry of Rural Development at Local Government began posting notices of flooded areas and warning to avoid areas. Within the Diego Martin area the communties Carenage, Blue Basin, Morne Coco Road, Saddle Road, Maraval and Petit Valley were among the communties affected with street and flashflooding and very localized riverine flooding. A major landslide was reported on the Northcoast Road which leads to popular beaches stranding motorists on either side, and smaller landslides in hilly areas around St. James. As of this time the TTRCS does not have confirmed reports of the possible number of households affected and the extent to flooded communities. 

", - null - ] - ], - "shape": { - "columns": 11, - "rows": 5 - } - }, - "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", - "
Source_Event_IDsEvent_NameEvent_TypeEvent_CodeCountryCountry_CodeDateSeverityPopulation_AffectedCommentsExternal_IDs
07249MYS: Flood - 11-2024 - East Coast Monsoon Floo...FloodFLMalaysiaMYS2024-11-27YellowNaN<p>The <span style=\"font-size: 10.5pt; font-fa...NaN
17247LTU: Transport Accident - 11-2024 - Cargo flig...Transport AccidentTransport AccidentLithuaniaLTU2024-11-25YellowNaN<p>Around 4 AM local time on 25 November 2024,...NaN
27245TZA: Flood - 11-2024 - TANZANIA TARIME FLOODSFloodFLTanzaniaTZA2024-11-24YellowNaN<p>Tragic news from Tarime District in the Mar...NaN
37245TZA: Flood - 11-2024 - TANZANIA TARIME FLOODSFloodFLUnited Republic ofNaN2024-11-24YellowNaN<p>Tragic news from Tarime District in the Mar...NaN
47243TTO: Pluvial/Flash Flood - 11-2024 - Intense l...Pluvial/Flash FloodFLTrinidad and TobagoTTO2024-11-23YellowNaN<p>On Saturday 23rd November 2024, around 11am...NaN
\n", - "
" - ], "text/plain": [ - " Source_Event_IDs Event_Name \\\n", - "0 7249 MYS: Flood - 11-2024 - East Coast Monsoon Floo... \n", - "1 7247 LTU: Transport Accident - 11-2024 - Cargo flig... \n", - "2 7245 TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS \n", - "3 7245 TZA: Flood - 11-2024 - TANZANIA TARIME FLOODS \n", - "4 7243 TTO: Pluvial/Flash Flood - 11-2024 - Intense l... \n", - "\n", - " Event_Type Event_Code Country Country_Code \\\n", - "0 Flood FL Malaysia MYS \n", - "1 Transport Accident Transport Accident Lithuania LTU \n", - "2 Flood FL Tanzania TZA \n", - "3 Flood FL United Republic of NaN \n", - "4 Pluvial/Flash Flood FL Trinidad and Tobago TTO \n", - "\n", - " Date Severity Population_Affected \\\n", - "0 2024-11-27 Yellow NaN \n", - "1 2024-11-25 Yellow NaN \n", - "2 2024-11-24 Yellow NaN \n", - "3 2024-11-24 Yellow NaN \n", - "4 2024-11-23 Yellow NaN \n", - "\n", - " Comments External_IDs \n", - "0

The Around 4 AM local time on 25 November 2024,... NaN \n", - "2

Tragic news from Tarime District in the Mar... NaN \n", - "3

Tragic news from Tarime District in the Mar... NaN \n", - "4

On Saturday 23rd November 2024, around 11am... NaN " + "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", + " 'Country_Code', 'Date', 'Severity', 'Population_Affected', 'Comments',\n", + " 'External_IDs'],\n", + " dtype='object')" ] }, "metadata": {}, @@ -2450,7 +156,7 @@ "]\n", "\n", "for df in pre_dfs:\n", - " display(df.head())" + " display(df.columns)" ] } ], From 733be7090e0917ee8614102c127b356bdac43140 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 12:40:03 +0000 Subject: [PATCH 04/15] Standardising columns --- notebooks/exploration.ipynb | 134 ++++++++++-------------------------- 1 file changed, 38 insertions(+), 96 deletions(-) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index 98b1d6a..440e9fc 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -18,15 +18,20 @@ "This notebook contains data exploration steps for disaster analysis.\n", "\"\"\"\n", "\n", + "import sys\n", "from pathlib import Path\n", "\n", "import pandas as pd\n", - "from IPython.display import display" + "\n", + "from src.data_consolidation.dictionary import STANDARD_COLUMNS\n", + "\n", + "module_path = Path(\"..\").resolve()\n", + "sys.path.append(str(module_path))" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -39,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -54,96 +59,9 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 48, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", - " 'Month', 'Day', 'Time', 'Severity', 'Source', 'Comments'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", - " 'Severity', 'Population_Affected', 'Alert_Level', 'End_Date'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", - " 'Month', 'Day', 'Severity', 'Population_Affected', 'Fatalities',\n", - " 'People_Displaced', 'Financial_Loss', 'AID_Contribution', 'Admin_Units',\n", - " 'External_IDs'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Date', 'Year', 'Month', 'Time', 'External_Links'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Country_Code', 'Date', 'Source', 'Comments', 'AID_Contribution',\n", - " 'Disbursement_Date'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Country_Code', 'Location', 'Latitude', 'Longitude', 'Date', 'Year',\n", - " 'Population_Affected', 'Source', 'Comments', 'External_Links',\n", - " 'External_IDs'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "Index(['Source_Event_IDs', 'Event_Name', 'Event_Type', 'Event_Code', 'Country',\n", - " 'Country_Code', 'Date', 'Severity', 'Population_Affected', 'Comments',\n", - " 'External_IDs'],\n", - " dtype='object')" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "pre_dfs = [\n", " glide_prep_df,\n", @@ -153,10 +71,34 @@ " cerf_df,\n", " idmc_df,\n", " ifrc_df,\n", - "]\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_18473/1884474460.py:8: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " all_data = pd.concat(pre_dfs, ignore_index=True)\n" + ] + } + ], + "source": [ + "for i, df in enumerate(pre_dfs):\n", + " missing_cols = set(STANDARD_COLUMNS) - set(df.columns)\n", + " for col in missing_cols:\n", + " df[col] = None\n", + " df_standard = df[STANDARD_COLUMNS]\n", + " pre_dfs[i] = df_standard\n", "\n", - "for df in pre_dfs:\n", - " display(df.columns)" + "all_data = pd.concat(pre_dfs, ignore_index=True)\n", + "all_data[\"Date\"] = pd.to_datetime(all_data[\"Date\"], errors=\"coerce\")\n", + "group_key = [\"Event_Type\", \"Country\"]" ] } ], From 0dd7d6d5505d1cda346d32c51318a2391711038b Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 12:45:07 +0000 Subject: [PATCH 05/15] Standardising columns --- notebooks/exploration.ipynb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index 440e9fc..523773c 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -100,6 +100,13 @@ "all_data[\"Date\"] = pd.to_datetime(all_data[\"Date\"], errors=\"coerce\")\n", "group_key = [\"Event_Type\", \"Country\"]" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 07ed866eb892ae31208b36633b3051898eebea2a Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 13:04:52 +0000 Subject: [PATCH 06/15] Consolidation try algorithm --- notebooks/exploration.ipynb | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index 523773c..c36e98c 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -18,6 +18,7 @@ "This notebook contains data exploration steps for disaster analysis.\n", "\"\"\"\n", "\n", + "import hashlib\n", "import sys\n", "from pathlib import Path\n", "\n", @@ -103,10 +104,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "def consolidate_group(group: pd.DataFrame) -> dict:\n", + " \"\"\"Consolidates a group of data.\"\"\"\n", + " consolidated_row = {}\n", + " event_ids = sorted(set(group[\"Source_Event_IDs\"].dropna().astype(str).tolist()))\n", + " consolidated_row[\"Event_ID\"] = event_ids\n", + " unique_str = \"|\".join(event_ids)\n", + " disaster_impact_id = \"DI_\" + hashlib.sha256(unique_str.encode(\"utf-8\")).hexdigest()\n", + " consolidated_row[\"Disaster_Impact_ID\"] = disaster_impact_id\n", + " for column in group.columns:\n", + " if column in group_key or column in [\"Event_ID\", \"Disaster_Impact_ID\"]:\n", + " if column == \"Disaster_Impact_ID\":\n", + " continue\n", + " consolidated_row[column] = sorted(\n", + " set(group[column].dropna().astype(str).tolist()),\n", + " )\n", + " else:\n", + " values = group[column].dropna().tolist()\n", + " if values:\n", + " if all(isinstance(val, list) for val in values):\n", + " flat_values = [item for sublist in values for item in sublist]\n", + " consolidated_row[column] = sorted(set(map(str, flat_values)))\n", + " else:\n", + " consolidated_row[column] = sorted(set(map(str, values)))\n", + " else:\n", + " consolidated_row[column] = None\n", + " return consolidated_row" + ] } ], "metadata": { From 6dd9cad1a9b473c99ddb5861e1054f191876ab2e Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 13:06:27 +0000 Subject: [PATCH 07/15] 7 day window --- notebooks/exploration.ipynb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index c36e98c..3efbfa0 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -135,6 +135,22 @@ " consolidated_row[column] = None\n", " return consolidated_row" ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "all_data[\"Date_Group\"] = all_data[\"Date\"].apply(\n", + " lambda x: (\n", + " x - pd.Timedelta(days=7),\n", + " x + pd.Timedelta(days=7),\n", + " )\n", + " if pd.notna(x)\n", + " else (None, None),\n", + ")" + ] } ], "metadata": { From 169f4f0747c9c7776a749a22d4a02a1c395d437d Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 28 Feb 2025 13:42:54 +0000 Subject: [PATCH 08/15] Hardcoded cosnolidation algorithm --- notebooks/exploration.ipynb | 51 ++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index 3efbfa0..c5f90c2 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "metadata": {}, "outputs": [], "source": [ @@ -32,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -45,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 57, "metadata": {}, "outputs": [], "source": [ @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 58, "metadata": {}, "outputs": [], "source": [ @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 60, "metadata": {}, "outputs": [], "source": [ @@ -138,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 61, "metadata": {}, "outputs": [], "source": [ @@ -151,6 +151,43 @@ " else (None, None),\n", ")" ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "def group_by_date_range(data: pd.DataFrame, date_col: str) -> list:\n", + " \"\"\"Groups data by date range.\"\"\"\n", + " rows = []\n", + " used_indices = set()\n", + " for idx, row in data.iterrows():\n", + " if idx in used_indices or pd.isna(row[date_col]):\n", + " continue\n", + " matching_rows = data[\n", + " (data[date_col] >= row[\"Date_Group\"][0])\n", + " & (data[date_col] <= row[\"Date_Group\"][1])\n", + " & (data[\"Event_Type\"] == row[\"Event_Type\"])\n", + " & (data[\"Country\"] == row[\"Country\"])\n", + " ]\n", + " used_indices.update(matching_rows.index)\n", + " rows.append(consolidate_group(matching_rows))\n", + " return rows\n", + "\n", + "\n", + "unified_rows = group_by_date_range(all_data, \"Date\")\n", + "unified_df = pd.DataFrame(unified_rows)\n", + "unified_df = unified_df[STANDARD_COLUMNS]\n", + "unified_df.to_csv(\"../data_prep/unified_data.csv\", index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 7dd85204c4de7e38cf55dc5316549f671f745065 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Wed, 12 Mar 2025 09:24:13 +0000 Subject: [PATCH 09/15] Exploration notebook --- notebooks/exploration.ipynb | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index c5f90c2..7d8339c 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -32,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 66, "metadata": {}, "outputs": [], "source": [ @@ -45,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 67, "metadata": {}, "outputs": [], "source": [ @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 72, "metadata": {}, "outputs": [], "source": [ @@ -138,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 73, "metadata": {}, "outputs": [], "source": [ @@ -154,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -178,15 +178,22 @@ "\n", "unified_rows = group_by_date_range(all_data, \"Date\")\n", "unified_df = pd.DataFrame(unified_rows)\n", - "unified_df = unified_df[STANDARD_COLUMNS]\n", - "unified_df.to_csv(\"../data_prep/unified_data.csv\", index=False)" + "unified_df = unified_df[STANDARD_COLUMNS]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Matrix is empty (all zeros); no Circos plot to display.\n" + ] + } + ], "source": [] } ], From 2275b6b1da2aec83a7ae2594131d08cb05c02d93 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 13 Mar 2025 11:51:38 +0000 Subject: [PATCH 10/15] Updating readme --- README.md | 8 +- img/MA-logo.png | Bin 0 -> 21201 bytes img/OCHA_0.png | Bin 0 -> 34532 bytes img/ifrc-logo.png | Bin 0 -> 7442 bytes output_data/disaster_database_dummy_data.csv | 385 +++++++++++++++++++ 5 files changed, 386 insertions(+), 7 deletions(-) create mode 100644 img/MA-logo.png create mode 100644 img/OCHA_0.png create mode 100644 img/ifrc-logo.png create mode 100644 output_data/disaster_database_dummy_data.csv diff --git a/README.md b/README.md index 81098bc..9f49049 100644 --- a/README.md +++ b/README.md @@ -66,18 +66,12 @@ testing, linting, and more. This project uses [Poetry](https://python-poetry.org/) for dependency management. To set up your development environment: -1. **Create and activate the virtual environment:** +**Create and activate the virtual environment:** ```bash make .venv ``` -2. **Install project dependencies:** - - ```bash - poetry install - ``` - ### Running Normalisation Scripts Each data source module under `src` contains scripts for data normalisation. diff --git a/img/MA-logo.png b/img/MA-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7b95cd82c55439f84ffa764cc4ebea83c8631263 GIT binary patch literal 21201 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

DPZG@4iqU@RajT0KnZa9l)C77X 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 UKwtY}>Xou_yV(woYu@Hcs%)|Kj-!??tcbyYAJi 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 I6fA@OA9ENMp8x;= literal 0 HcmV?d00001 diff --git a/output_data/disaster_database_dummy_data.csv b/output_data/disaster_database_dummy_data.csv new file mode 100644 index 0000000..7d78300 --- /dev/null +++ b/output_data/disaster_database_dummy_data.csv @@ -0,0 +1,385 @@ +Year,Country ,Event,Placeholder +2000,ZWE,Flood,TBC +2000,TZA,Drought,TBC +2000,SYC,Flood,TBC +2000,SYC,Flood,TBC +2000,TZA,Flood,TBC +2000,NAM,Flood,TBC +2000,COM,Drought,TBC +2000,SWZ,Drought,TBC +2000,SYC,Flood,TBC +2000,BWA,Drought,TBC +2000,COM,Drought,TBC +2000,TZA,Drought,TBC +2000,COM,Flood,TBC +2000,COD,Flood,TBC +2000,SWZ,Flood,TBC +2000,ZWE,Flood,TBC +2000,TZA,Flood,TBC +2000,MDG,Flood,TBC +2000,ZAF,Flood,TBC +2001,MDG,Drought,TBC +2001,ZAF,Flood,TBC +2001,MOZ,Flood,TBC +2001,MDG,Flood,TBC +2001,MWI,Flood,TBC +2001,ZMB,Flood,TBC +2001,COM,Drought,TBC +2001,MDG,Drought,TBC +2001,MWI,Flood,TBC +2001,MOZ,Flood,TBC +2001,BWA,Flood,TBC +2001,MOZ,Drought,TBC +2001,NAM,Drought,TBC +2001,SYC,Drought,TBC +2001,ZAF,Drought,TBC +2002,MWI,Flood,TBC +2002,MWI,Flood,TBC +2002,SYC,Flood,TBC +2002,NAM,Drought,TBC +2002,SWZ,Drought,TBC +2002,ZAF,Drought,TBC +2002,ZWE,Flood,TBC +2002,MDG,Flood,TBC +2002,BWA,Drought,TBC +2002,COD,Flood,TBC +2002,MUS,Drought,TBC +2002,COD,Drought,TBC +2002,AGO,Flood,TBC +2002,AGO,Flood,TBC +2002,MUS,Flood,TBC +2002,ZAF,Flood,TBC +2002,LSO,Drought,TBC +2003,SWZ,Flood,TBC +2003,ZMB,Flood,TBC +2003,BWA,Flood,TBC +2003,MWI,Flood,TBC +2003,NAM,Drought,TBC +2003,ZWE,Drought,TBC +2003,NAM,Drought,TBC +2003,MWI,Flood,TBC +2003,SYC,Drought,TBC +2003,NAM,Flood,TBC +2003,LSO,Drought,TBC +2003,SYC,Drought,TBC +2003,BWA,Drought,TBC +2003,COD,Flood,TBC +2004,COD,Drought,TBC +2004,LSO,Flood,TBC +2004,COD,Drought,TBC +2004,MUS,Drought,TBC +2004,TZA,Flood,TBC +2004,ZMB,Flood,TBC +2004,MDG,Drought,TBC +2004,ZAF,Drought,TBC +2004,MDG,Drought,TBC +2004,MWI,Drought,TBC +2004,BWA,Flood,TBC +2004,SWZ,Drought,TBC +2004,SWZ,Flood,TBC +2004,TZA,Flood,TBC +2004,ZMB,Flood,TBC +2004,BWA,Drought,TBC +2004,AGO,Flood,TBC +2005,MOZ,Drought,TBC +2005,LSO,Flood,TBC +2005,AGO,Flood,TBC +2005,COM,Flood,TBC +2005,LSO,Flood,TBC +2005,MUS,Flood,TBC +2005,SWZ,Drought,TBC +2005,TZA,Drought,TBC +2005,COM,Flood,TBC +2005,MDG,Flood,TBC +2005,SYC,Drought,TBC +2005,ZMB,Drought,TBC +2005,AGO,Flood,TBC +2005,TZA,Flood,TBC +2005,ZAF,Flood,TBC +2005,NAM,Drought,TBC +2005,ZMB,Flood,TBC +2005,SYC,Drought,TBC +2005,COM,Drought,TBC +2005,MUS,Drought,TBC +2006,ZWE,Drought,TBC +2006,BWA,Drought,TBC +2006,MUS,Flood,TBC +2006,MOZ,Drought,TBC +2006,COM,Drought,TBC +2006,ZAF,Drought,TBC +2006,SYC,Flood,TBC +2006,COD,Drought,TBC +2006,COM,Flood,TBC +2006,MUS,Flood,TBC +2006,AGO,Flood,TBC +2006,COM,Flood,TBC +2006,MDG,Flood,TBC +2006,COD,Flood,TBC +2006,MWI,Flood,TBC +2006,SYC,Flood,TBC +2006,NAM,Drought,TBC +2006,SYC,Flood,TBC +2006,COD,Drought,TBC +2007,ZAF,Flood,TBC +2007,TZA,Flood,TBC +2007,BWA,Drought,TBC +2007,COM,Drought,TBC +2007,SYC,Drought,TBC +2007,MWI,Flood,TBC +2007,COD,Flood,TBC +2007,ZWE,Flood,TBC +2007,AGO,Drought,TBC +2007,MDG,Drought,TBC +2007,COM,Drought,TBC +2007,TZA,Drought,TBC +2007,ZMB,Drought,TBC +2008,MOZ,Drought,TBC +2008,ZAF,Flood,TBC +2008,BWA,Drought,TBC +2008,TZA,Flood,TBC +2008,BWA,Drought,TBC +2008,SYC,Drought,TBC +2008,SYC,Flood,TBC +2008,MUS,Flood,TBC +2008,ZMB,Flood,TBC +2008,ZAF,Flood,TBC +2008,MOZ,Drought,TBC +2008,TZA,Drought,TBC +2008,MDG,Drought,TBC +2009,MDG,Drought,TBC +2009,AGO,Flood,TBC +2009,COD,Drought,TBC +2009,MUS,Flood,TBC +2009,MUS,Drought,TBC +2009,ZWE,Drought,TBC +2009,LSO,Flood,TBC +2009,NAM,Flood,TBC +2010,COD,Flood,TBC +2010,LSO,Drought,TBC +2010,TZA,Drought,TBC +2010,BWA,Flood,TBC +2010,COD,Flood,TBC +2010,COM,Flood,TBC +2010,NAM,Flood,TBC +2010,MUS,Drought,TBC +2010,MOZ,Drought,TBC +2010,LSO,Flood,TBC +2010,AGO,Drought,TBC +2010,BWA,Drought,TBC +2010,LSO,Drought,TBC +2010,LSO,Flood,TBC +2010,ZWE,Flood,TBC +2011,BWA,Flood,TBC +2011,MUS,Drought,TBC +2011,ZMB,Flood,TBC +2011,LSO,Drought,TBC +2011,TZA,Drought,TBC +2011,COD,Drought,TBC +2011,BWA,Flood,TBC +2011,NAM,Drought,TBC +2011,COD,Flood,TBC +2011,MDG,Flood,TBC +2012,TZA,Flood,TBC +2012,ZMB,Drought,TBC +2012,COM,Flood,TBC +2012,MOZ,Drought,TBC +2012,MWI,Flood,TBC +2012,COD,Drought,TBC +2012,LSO,Drought,TBC +2012,LSO,Flood,TBC +2012,MUS,Drought,TBC +2012,ZMB,Drought,TBC +2012,AGO,Drought,TBC +2013,NAM,Flood,TBC +2013,MUS,Flood,TBC +2013,NAM,Flood,TBC +2013,ZMB,Flood,TBC +2013,ZAF,Drought,TBC +2013,ZMB,Drought,TBC +2013,COD,Flood,TBC +2013,MDG,Flood,TBC +2013,NAM,Flood,TBC +2013,AGO,Flood,TBC +2013,BWA,Flood,TBC +2013,SWZ,Flood,TBC +2013,ZMB,Drought,TBC +2013,ZWE,Drought,TBC +2013,NAM,Flood,TBC +2013,ZAF,Flood,TBC +2013,BWA,Drought,TBC +2013,ZMB,Drought,TBC +2013,ZWE,Drought,TBC +2013,ZMB,Drought,TBC +2013,MUS,Flood,TBC +2013,COD,Drought,TBC +2013,COM,Drought,TBC +2013,ZMB,Flood,TBC +2013,ZWE,Drought,TBC +2013,SYC,Flood,TBC +2014,SWZ,Drought,TBC +2014,AGO,Flood,TBC +2014,MOZ,Drought,TBC +2014,AGO,Flood,TBC +2014,COD,Flood,TBC +2014,MWI,Drought,TBC +2014,BWA,Flood,TBC +2014,SYC,Flood,TBC +2014,MUS,Drought,TBC +2014,MOZ,Drought,TBC +2014,ZAF,Drought,TBC +2014,SWZ,Drought,TBC +2015,LSO,Drought,TBC +2015,NAM,Drought,TBC +2015,ZAF,Drought,TBC +2015,COM,Drought,TBC +2015,NAM,Drought,TBC +2015,MOZ,Flood,TBC +2015,ZWE,Flood,TBC +2015,MDG,Flood,TBC +2015,TZA,Flood,TBC +2015,SWZ,Flood,TBC +2015,LSO,Drought,TBC +2015,SYC,Drought,TBC +2015,NAM,Flood,TBC +2015,MWI,Drought,TBC +2015,MDG,Flood,TBC +2015,SWZ,Flood,TBC +2015,TZA,Drought,TBC +2016,BWA,Drought,TBC +2016,ZWE,Drought,TBC +2016,ZWE,Drought,TBC +2016,AGO,Drought,TBC +2016,MDG,Drought,TBC +2016,NAM,Drought,TBC +2016,ZWE,Flood,TBC +2016,COM,Flood,TBC +2016,SWZ,Flood,TBC +2017,MDG,Flood,TBC +2017,AGO,Drought,TBC +2017,SYC,Drought,TBC +2017,SWZ,Drought,TBC +2017,ZMB,Drought,TBC +2017,SWZ,Flood,TBC +2017,AGO,Drought,TBC +2017,SWZ,Flood,TBC +2017,SWZ,Drought,TBC +2017,TZA,Drought,TBC +2017,ZAF,Flood,TBC +2017,ZMB,Flood,TBC +2017,COD,Drought,TBC +2017,MOZ,Drought,TBC +2017,AGO,Flood,TBC +2017,MWI,Drought,TBC +2017,MWI,Drought,TBC +2017,MOZ,Drought,TBC +2017,LSO,Flood,TBC +2017,MWI,Drought,TBC +2017,BWA,Flood,TBC +2017,MOZ,Flood,TBC +2018,SYC,Drought,TBC +2018,TZA,Drought,TBC +2018,ZAF,Flood,TBC +2018,MWI,Drought,TBC +2018,BWA,Flood,TBC +2018,COD,Drought,TBC +2018,AGO,Flood,TBC +2018,MUS,Drought,TBC +2018,TZA,Drought,TBC +2018,ZAF,Flood,TBC +2018,SYC,Flood,TBC +2018,MUS,Flood,TBC +2018,NAM,Flood,TBC +2019,MDG,Drought,TBC +2019,ZMB,Drought,TBC +2019,ZWE,Flood,TBC +2019,MWI,Drought,TBC +2019,SYC,Drought,TBC +2019,SWZ,Drought,TBC +2019,LSO,Drought,TBC +2019,SWZ,Flood,TBC +2019,TZA,Drought,TBC +2019,SWZ,Flood,TBC +2019,MOZ,Flood,TBC +2019,ZMB,Drought,TBC +2019,ZWE,Flood,TBC +2019,AGO,Drought,TBC +2019,SWZ,Drought,TBC +2019,ZWE,Drought,TBC +2019,MWI,Flood,TBC +2019,ZWE,Drought,TBC +2019,MWI,Flood,TBC +2019,MDG,Drought,TBC +2019,TZA,Flood,TBC +2020,MWI,Drought,TBC +2020,MUS,Flood,TBC +2020,MWI,Drought,TBC +2020,SYC,Drought,TBC +2020,COD,Flood,TBC +2020,NAM,Flood,TBC +2020,ZWE,Flood,TBC +2020,NAM,Drought,TBC +2020,COD,Flood,TBC +2020,MOZ,Flood,TBC +2020,LSO,Drought,TBC +2020,BWA,Flood,TBC +2020,NAM,Flood,TBC +2020,SWZ,Drought,TBC +2020,ZMB,Flood,TBC +2021,AGO,Drought,TBC +2021,ZAF,Drought,TBC +2021,COM,Drought,TBC +2021,MUS,Drought,TBC +2021,LSO,Drought,TBC +2021,NAM,Drought,TBC +2021,MUS,Flood,TBC +2021,ZMB,Flood,TBC +2021,LSO,Flood,TBC +2021,MWI,Drought,TBC +2021,SWZ,Flood,TBC +2021,ZAF,Drought,TBC +2021,AGO,Drought,TBC +2022,MUS,Drought,TBC +2022,MOZ,Flood,TBC +2022,ZWE,Flood,TBC +2022,ZMB,Drought,TBC +2022,ZWE,Drought,TBC +2022,AGO,Drought,TBC +2022,COM,Drought,TBC +2022,ZAF,Drought,TBC +2022,MDG,Drought,TBC +2022,ZAF,Drought,TBC +2022,TZA,Flood,TBC +2022,TZA,Flood,TBC +2022,ZAF,Drought,TBC +2022,MDG,Flood,TBC +2022,MUS,Drought,TBC +2023,COM,Drought,TBC +2023,SYC,Flood,TBC +2023,MDG,Flood,TBC +2023,BWA,Drought,TBC +2023,AGO,Drought,TBC +2023,MOZ,Flood,TBC +2023,MOZ,Flood,TBC +2023,ZWE,Drought,TBC +2023,ZAF,Flood,TBC +2023,MUS,Flood,TBC +2023,COM,Flood,TBC +2023,MOZ,Flood,TBC +2023,ZWE,Flood,TBC +2024,COM,Flood,TBC +2024,COM,Flood,TBC +2024,LSO,Drought,TBC +2024,LSO,Flood,TBC +2024,MOZ,Flood,TBC +2024,COD,Drought,TBC +2024,MWI,Drought,TBC +2024,LSO,Flood,TBC +2024,MOZ,Drought,TBC +2024,SWZ,Drought,TBC +2024,BWA,Flood,TBC +2024,AGO,Drought,TBC +2024,LSO,Flood,TBC +2024,MOZ,Flood,TBC +2024,MDG,Drought,TBC +2024,COM,Flood,TBC +2024,MWI,Flood,TBC From 74d0c08739652c9f91782c4bc368bfb1551dd2d3 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 13 Mar 2025 12:02:47 +0000 Subject: [PATCH 11/15] Deleted dead code and dirs --- img/MA-logo.png | Bin 21201 -> 0 bytes img/OCHA_0.png | Bin 34532 -> 0 bytes img/ifrc-logo.png | Bin 7442 -> 0 bytes output_data/disaster_database_dummy_data.csv | 385 ------------------- 4 files changed, 385 deletions(-) delete mode 100644 img/MA-logo.png delete mode 100644 img/OCHA_0.png delete mode 100644 img/ifrc-logo.png delete mode 100644 output_data/disaster_database_dummy_data.csv diff --git a/img/MA-logo.png b/img/MA-logo.png deleted file mode 100644 index 7b95cd82c55439f84ffa764cc4ebea83c8631263..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21201 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

DPZG@4iqU@RajT0KnZa9l)C77X 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 UKwtY}>Xou_yV(woYu@Hcs%)|Kj-!??tcbyYAJi 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 I6fA@OA9ENMp8x;= diff --git a/output_data/disaster_database_dummy_data.csv b/output_data/disaster_database_dummy_data.csv deleted file mode 100644 index 7d78300..0000000 --- a/output_data/disaster_database_dummy_data.csv +++ /dev/null @@ -1,385 +0,0 @@ -Year,Country ,Event,Placeholder -2000,ZWE,Flood,TBC -2000,TZA,Drought,TBC -2000,SYC,Flood,TBC -2000,SYC,Flood,TBC -2000,TZA,Flood,TBC -2000,NAM,Flood,TBC -2000,COM,Drought,TBC -2000,SWZ,Drought,TBC -2000,SYC,Flood,TBC -2000,BWA,Drought,TBC -2000,COM,Drought,TBC -2000,TZA,Drought,TBC -2000,COM,Flood,TBC -2000,COD,Flood,TBC -2000,SWZ,Flood,TBC -2000,ZWE,Flood,TBC -2000,TZA,Flood,TBC -2000,MDG,Flood,TBC -2000,ZAF,Flood,TBC -2001,MDG,Drought,TBC -2001,ZAF,Flood,TBC -2001,MOZ,Flood,TBC -2001,MDG,Flood,TBC -2001,MWI,Flood,TBC -2001,ZMB,Flood,TBC -2001,COM,Drought,TBC -2001,MDG,Drought,TBC -2001,MWI,Flood,TBC -2001,MOZ,Flood,TBC -2001,BWA,Flood,TBC -2001,MOZ,Drought,TBC -2001,NAM,Drought,TBC -2001,SYC,Drought,TBC -2001,ZAF,Drought,TBC -2002,MWI,Flood,TBC -2002,MWI,Flood,TBC -2002,SYC,Flood,TBC -2002,NAM,Drought,TBC -2002,SWZ,Drought,TBC -2002,ZAF,Drought,TBC -2002,ZWE,Flood,TBC -2002,MDG,Flood,TBC -2002,BWA,Drought,TBC -2002,COD,Flood,TBC -2002,MUS,Drought,TBC -2002,COD,Drought,TBC -2002,AGO,Flood,TBC -2002,AGO,Flood,TBC -2002,MUS,Flood,TBC -2002,ZAF,Flood,TBC -2002,LSO,Drought,TBC -2003,SWZ,Flood,TBC -2003,ZMB,Flood,TBC -2003,BWA,Flood,TBC -2003,MWI,Flood,TBC -2003,NAM,Drought,TBC -2003,ZWE,Drought,TBC -2003,NAM,Drought,TBC -2003,MWI,Flood,TBC -2003,SYC,Drought,TBC -2003,NAM,Flood,TBC -2003,LSO,Drought,TBC -2003,SYC,Drought,TBC -2003,BWA,Drought,TBC -2003,COD,Flood,TBC -2004,COD,Drought,TBC -2004,LSO,Flood,TBC -2004,COD,Drought,TBC -2004,MUS,Drought,TBC -2004,TZA,Flood,TBC -2004,ZMB,Flood,TBC -2004,MDG,Drought,TBC -2004,ZAF,Drought,TBC -2004,MDG,Drought,TBC -2004,MWI,Drought,TBC -2004,BWA,Flood,TBC -2004,SWZ,Drought,TBC -2004,SWZ,Flood,TBC -2004,TZA,Flood,TBC -2004,ZMB,Flood,TBC -2004,BWA,Drought,TBC -2004,AGO,Flood,TBC -2005,MOZ,Drought,TBC -2005,LSO,Flood,TBC -2005,AGO,Flood,TBC -2005,COM,Flood,TBC -2005,LSO,Flood,TBC -2005,MUS,Flood,TBC -2005,SWZ,Drought,TBC -2005,TZA,Drought,TBC -2005,COM,Flood,TBC -2005,MDG,Flood,TBC -2005,SYC,Drought,TBC -2005,ZMB,Drought,TBC -2005,AGO,Flood,TBC -2005,TZA,Flood,TBC -2005,ZAF,Flood,TBC -2005,NAM,Drought,TBC -2005,ZMB,Flood,TBC -2005,SYC,Drought,TBC -2005,COM,Drought,TBC -2005,MUS,Drought,TBC -2006,ZWE,Drought,TBC -2006,BWA,Drought,TBC -2006,MUS,Flood,TBC -2006,MOZ,Drought,TBC -2006,COM,Drought,TBC -2006,ZAF,Drought,TBC -2006,SYC,Flood,TBC -2006,COD,Drought,TBC -2006,COM,Flood,TBC -2006,MUS,Flood,TBC -2006,AGO,Flood,TBC -2006,COM,Flood,TBC -2006,MDG,Flood,TBC -2006,COD,Flood,TBC -2006,MWI,Flood,TBC -2006,SYC,Flood,TBC -2006,NAM,Drought,TBC -2006,SYC,Flood,TBC -2006,COD,Drought,TBC -2007,ZAF,Flood,TBC -2007,TZA,Flood,TBC -2007,BWA,Drought,TBC -2007,COM,Drought,TBC -2007,SYC,Drought,TBC -2007,MWI,Flood,TBC -2007,COD,Flood,TBC -2007,ZWE,Flood,TBC -2007,AGO,Drought,TBC -2007,MDG,Drought,TBC -2007,COM,Drought,TBC -2007,TZA,Drought,TBC -2007,ZMB,Drought,TBC -2008,MOZ,Drought,TBC -2008,ZAF,Flood,TBC -2008,BWA,Drought,TBC -2008,TZA,Flood,TBC -2008,BWA,Drought,TBC -2008,SYC,Drought,TBC -2008,SYC,Flood,TBC -2008,MUS,Flood,TBC -2008,ZMB,Flood,TBC -2008,ZAF,Flood,TBC -2008,MOZ,Drought,TBC -2008,TZA,Drought,TBC -2008,MDG,Drought,TBC -2009,MDG,Drought,TBC -2009,AGO,Flood,TBC -2009,COD,Drought,TBC -2009,MUS,Flood,TBC -2009,MUS,Drought,TBC -2009,ZWE,Drought,TBC -2009,LSO,Flood,TBC -2009,NAM,Flood,TBC -2010,COD,Flood,TBC -2010,LSO,Drought,TBC -2010,TZA,Drought,TBC -2010,BWA,Flood,TBC -2010,COD,Flood,TBC -2010,COM,Flood,TBC -2010,NAM,Flood,TBC -2010,MUS,Drought,TBC -2010,MOZ,Drought,TBC -2010,LSO,Flood,TBC -2010,AGO,Drought,TBC -2010,BWA,Drought,TBC -2010,LSO,Drought,TBC -2010,LSO,Flood,TBC -2010,ZWE,Flood,TBC -2011,BWA,Flood,TBC -2011,MUS,Drought,TBC -2011,ZMB,Flood,TBC -2011,LSO,Drought,TBC -2011,TZA,Drought,TBC -2011,COD,Drought,TBC -2011,BWA,Flood,TBC -2011,NAM,Drought,TBC -2011,COD,Flood,TBC -2011,MDG,Flood,TBC -2012,TZA,Flood,TBC -2012,ZMB,Drought,TBC -2012,COM,Flood,TBC -2012,MOZ,Drought,TBC -2012,MWI,Flood,TBC -2012,COD,Drought,TBC -2012,LSO,Drought,TBC -2012,LSO,Flood,TBC -2012,MUS,Drought,TBC -2012,ZMB,Drought,TBC -2012,AGO,Drought,TBC -2013,NAM,Flood,TBC -2013,MUS,Flood,TBC -2013,NAM,Flood,TBC -2013,ZMB,Flood,TBC -2013,ZAF,Drought,TBC -2013,ZMB,Drought,TBC -2013,COD,Flood,TBC -2013,MDG,Flood,TBC -2013,NAM,Flood,TBC -2013,AGO,Flood,TBC -2013,BWA,Flood,TBC -2013,SWZ,Flood,TBC -2013,ZMB,Drought,TBC -2013,ZWE,Drought,TBC -2013,NAM,Flood,TBC -2013,ZAF,Flood,TBC -2013,BWA,Drought,TBC -2013,ZMB,Drought,TBC -2013,ZWE,Drought,TBC -2013,ZMB,Drought,TBC -2013,MUS,Flood,TBC -2013,COD,Drought,TBC -2013,COM,Drought,TBC -2013,ZMB,Flood,TBC -2013,ZWE,Drought,TBC -2013,SYC,Flood,TBC -2014,SWZ,Drought,TBC -2014,AGO,Flood,TBC -2014,MOZ,Drought,TBC -2014,AGO,Flood,TBC -2014,COD,Flood,TBC -2014,MWI,Drought,TBC -2014,BWA,Flood,TBC -2014,SYC,Flood,TBC -2014,MUS,Drought,TBC -2014,MOZ,Drought,TBC -2014,ZAF,Drought,TBC -2014,SWZ,Drought,TBC -2015,LSO,Drought,TBC -2015,NAM,Drought,TBC -2015,ZAF,Drought,TBC -2015,COM,Drought,TBC -2015,NAM,Drought,TBC -2015,MOZ,Flood,TBC -2015,ZWE,Flood,TBC -2015,MDG,Flood,TBC -2015,TZA,Flood,TBC -2015,SWZ,Flood,TBC -2015,LSO,Drought,TBC -2015,SYC,Drought,TBC -2015,NAM,Flood,TBC -2015,MWI,Drought,TBC -2015,MDG,Flood,TBC -2015,SWZ,Flood,TBC -2015,TZA,Drought,TBC -2016,BWA,Drought,TBC -2016,ZWE,Drought,TBC -2016,ZWE,Drought,TBC -2016,AGO,Drought,TBC -2016,MDG,Drought,TBC -2016,NAM,Drought,TBC -2016,ZWE,Flood,TBC -2016,COM,Flood,TBC -2016,SWZ,Flood,TBC -2017,MDG,Flood,TBC -2017,AGO,Drought,TBC -2017,SYC,Drought,TBC -2017,SWZ,Drought,TBC -2017,ZMB,Drought,TBC -2017,SWZ,Flood,TBC -2017,AGO,Drought,TBC -2017,SWZ,Flood,TBC -2017,SWZ,Drought,TBC -2017,TZA,Drought,TBC -2017,ZAF,Flood,TBC -2017,ZMB,Flood,TBC -2017,COD,Drought,TBC -2017,MOZ,Drought,TBC -2017,AGO,Flood,TBC -2017,MWI,Drought,TBC -2017,MWI,Drought,TBC -2017,MOZ,Drought,TBC -2017,LSO,Flood,TBC -2017,MWI,Drought,TBC -2017,BWA,Flood,TBC -2017,MOZ,Flood,TBC -2018,SYC,Drought,TBC -2018,TZA,Drought,TBC -2018,ZAF,Flood,TBC -2018,MWI,Drought,TBC -2018,BWA,Flood,TBC -2018,COD,Drought,TBC -2018,AGO,Flood,TBC -2018,MUS,Drought,TBC -2018,TZA,Drought,TBC -2018,ZAF,Flood,TBC -2018,SYC,Flood,TBC -2018,MUS,Flood,TBC -2018,NAM,Flood,TBC -2019,MDG,Drought,TBC -2019,ZMB,Drought,TBC -2019,ZWE,Flood,TBC -2019,MWI,Drought,TBC -2019,SYC,Drought,TBC -2019,SWZ,Drought,TBC -2019,LSO,Drought,TBC -2019,SWZ,Flood,TBC -2019,TZA,Drought,TBC -2019,SWZ,Flood,TBC -2019,MOZ,Flood,TBC -2019,ZMB,Drought,TBC -2019,ZWE,Flood,TBC -2019,AGO,Drought,TBC -2019,SWZ,Drought,TBC -2019,ZWE,Drought,TBC -2019,MWI,Flood,TBC -2019,ZWE,Drought,TBC -2019,MWI,Flood,TBC -2019,MDG,Drought,TBC -2019,TZA,Flood,TBC -2020,MWI,Drought,TBC -2020,MUS,Flood,TBC -2020,MWI,Drought,TBC -2020,SYC,Drought,TBC -2020,COD,Flood,TBC -2020,NAM,Flood,TBC -2020,ZWE,Flood,TBC -2020,NAM,Drought,TBC -2020,COD,Flood,TBC -2020,MOZ,Flood,TBC -2020,LSO,Drought,TBC -2020,BWA,Flood,TBC -2020,NAM,Flood,TBC -2020,SWZ,Drought,TBC -2020,ZMB,Flood,TBC -2021,AGO,Drought,TBC -2021,ZAF,Drought,TBC -2021,COM,Drought,TBC -2021,MUS,Drought,TBC -2021,LSO,Drought,TBC -2021,NAM,Drought,TBC -2021,MUS,Flood,TBC -2021,ZMB,Flood,TBC -2021,LSO,Flood,TBC -2021,MWI,Drought,TBC -2021,SWZ,Flood,TBC -2021,ZAF,Drought,TBC -2021,AGO,Drought,TBC -2022,MUS,Drought,TBC -2022,MOZ,Flood,TBC -2022,ZWE,Flood,TBC -2022,ZMB,Drought,TBC -2022,ZWE,Drought,TBC -2022,AGO,Drought,TBC -2022,COM,Drought,TBC -2022,ZAF,Drought,TBC -2022,MDG,Drought,TBC -2022,ZAF,Drought,TBC -2022,TZA,Flood,TBC -2022,TZA,Flood,TBC -2022,ZAF,Drought,TBC -2022,MDG,Flood,TBC -2022,MUS,Drought,TBC -2023,COM,Drought,TBC -2023,SYC,Flood,TBC -2023,MDG,Flood,TBC -2023,BWA,Drought,TBC -2023,AGO,Drought,TBC -2023,MOZ,Flood,TBC -2023,MOZ,Flood,TBC -2023,ZWE,Drought,TBC -2023,ZAF,Flood,TBC -2023,MUS,Flood,TBC -2023,COM,Flood,TBC -2023,MOZ,Flood,TBC -2023,ZWE,Flood,TBC -2024,COM,Flood,TBC -2024,COM,Flood,TBC -2024,LSO,Drought,TBC -2024,LSO,Flood,TBC -2024,MOZ,Flood,TBC -2024,COD,Drought,TBC -2024,MWI,Drought,TBC -2024,LSO,Flood,TBC -2024,MOZ,Drought,TBC -2024,SWZ,Drought,TBC -2024,BWA,Flood,TBC -2024,AGO,Drought,TBC -2024,LSO,Flood,TBC -2024,MOZ,Flood,TBC -2024,MDG,Drought,TBC -2024,COM,Flood,TBC -2024,MWI,Flood,TBC From 52d9e18c21f6e678a12a37c11f0039adb1f9425e Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 13 Mar 2025 12:14:06 +0000 Subject: [PATCH 12/15] Updated the ci yml for nbqa solution --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a239a1d..fc1d04d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,6 +32,9 @@ jobs: curl -sSL https://install.python-poetry.org | python3 - --version $POETRY_VERSION poetry --version + - name: Add Poetry to PATH + run: echo "$HOME/.local/bin" >> $GITHUB_PATH + - name: Cache Poetry virtual environment uses: actions/cache@v3 with: From 6a31491f413775bc26b688535293b0258de4073b Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 13 Mar 2025 12:21:29 +0000 Subject: [PATCH 13/15] Reverting the ci back to normal --- .github/workflows/ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc1d04d..a239a1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,9 +32,6 @@ jobs: curl -sSL https://install.python-poetry.org | python3 - --version $POETRY_VERSION poetry --version - - name: Add Poetry to PATH - run: echo "$HOME/.local/bin" >> $GITHUB_PATH - - name: Cache Poetry virtual environment uses: actions/cache@v3 with: From fb670b5644958d1154000c605e4bf19c69f08f81 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 13 Mar 2025 12:23:30 +0000 Subject: [PATCH 14/15] Updating hooks --- .pre-commit-config.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8595305..eb74958 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,11 +13,13 @@ repos: hooks: - id: nbqa-ruff name: nbqa-ruff - entry: poetry run nbqa ruff - language: system + entry: nbqa ruff + language: python + additional_dependencies: [nbqa] files: \.ipynb$ - id: nbqa-ruff-format name: nbqa-ruff-format - entry: poetry run nbqa ruff --fix - language: system + entry: nbqa ruff --fix + language: python + additional_dependencies: [nbqa] files: \.ipynb$ From 6dd9dd6e550caaec6fa2c730f1d1a5a7363618a9 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 13 Mar 2025 12:31:59 +0000 Subject: [PATCH 15/15] Deleted dead code that was causing confilict --- .pre-commit-config.yaml | 10 ++-- notebooks/exploration.ipynb | 95 ------------------------------------- 2 files changed, 4 insertions(+), 101 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index eb74958..8595305 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,13 +13,11 @@ repos: hooks: - id: nbqa-ruff name: nbqa-ruff - entry: nbqa ruff - language: python - additional_dependencies: [nbqa] + entry: poetry run nbqa ruff + language: system files: \.ipynb$ - id: nbqa-ruff-format name: nbqa-ruff-format - entry: nbqa ruff --fix - language: python - additional_dependencies: [nbqa] + entry: poetry run nbqa ruff --fix + language: system files: \.ipynb$ diff --git a/notebooks/exploration.ipynb b/notebooks/exploration.ipynb index 7d8339c..24310f6 100644 --- a/notebooks/exploration.ipynb +++ b/notebooks/exploration.ipynb @@ -18,7 +18,6 @@ "This notebook contains data exploration steps for disaster analysis.\n", "\"\"\"\n", "\n", - "import hashlib\n", "import sys\n", "from pathlib import Path\n", "\n", @@ -101,100 +100,6 @@ "all_data[\"Date\"] = pd.to_datetime(all_data[\"Date\"], errors=\"coerce\")\n", "group_key = [\"Event_Type\", \"Country\"]" ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [], - "source": [ - "def consolidate_group(group: pd.DataFrame) -> dict:\n", - " \"\"\"Consolidates a group of data.\"\"\"\n", - " consolidated_row = {}\n", - " event_ids = sorted(set(group[\"Source_Event_IDs\"].dropna().astype(str).tolist()))\n", - " consolidated_row[\"Event_ID\"] = event_ids\n", - " unique_str = \"|\".join(event_ids)\n", - " disaster_impact_id = \"DI_\" + hashlib.sha256(unique_str.encode(\"utf-8\")).hexdigest()\n", - " consolidated_row[\"Disaster_Impact_ID\"] = disaster_impact_id\n", - " for column in group.columns:\n", - " if column in group_key or column in [\"Event_ID\", \"Disaster_Impact_ID\"]:\n", - " if column == \"Disaster_Impact_ID\":\n", - " continue\n", - " consolidated_row[column] = sorted(\n", - " set(group[column].dropna().astype(str).tolist()),\n", - " )\n", - " else:\n", - " values = group[column].dropna().tolist()\n", - " if values:\n", - " if all(isinstance(val, list) for val in values):\n", - " flat_values = [item for sublist in values for item in sublist]\n", - " consolidated_row[column] = sorted(set(map(str, flat_values)))\n", - " else:\n", - " consolidated_row[column] = sorted(set(map(str, values)))\n", - " else:\n", - " consolidated_row[column] = None\n", - " return consolidated_row" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [], - "source": [ - "all_data[\"Date_Group\"] = all_data[\"Date\"].apply(\n", - " lambda x: (\n", - " x - pd.Timedelta(days=7),\n", - " x + pd.Timedelta(days=7),\n", - " )\n", - " if pd.notna(x)\n", - " else (None, None),\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def group_by_date_range(data: pd.DataFrame, date_col: str) -> list:\n", - " \"\"\"Groups data by date range.\"\"\"\n", - " rows = []\n", - " used_indices = set()\n", - " for idx, row in data.iterrows():\n", - " if idx in used_indices or pd.isna(row[date_col]):\n", - " continue\n", - " matching_rows = data[\n", - " (data[date_col] >= row[\"Date_Group\"][0])\n", - " & (data[date_col] <= row[\"Date_Group\"][1])\n", - " & (data[\"Event_Type\"] == row[\"Event_Type\"])\n", - " & (data[\"Country\"] == row[\"Country\"])\n", - " ]\n", - " used_indices.update(matching_rows.index)\n", - " rows.append(consolidate_group(matching_rows))\n", - " return rows\n", - "\n", - "\n", - "unified_rows = group_by_date_range(all_data, \"Date\")\n", - "unified_df = pd.DataFrame(unified_rows)\n", - "unified_df = unified_df[STANDARD_COLUMNS]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Matrix is empty (all zeros); no Circos plot to display.\n" - ] - } - ], - "source": [] } ], "metadata": {