{ "cells": [ { "cell_type": "markdown", "id": "24e562c3", "metadata": {}, "source": [ "# Notebook for processing London Fire Brigade Data\n", "\n", "Author: [Huanfa Chen](https://github.com/huanfachen)\n", "\n" ] }, { "cell_type": "code", "execution_count": 34, "id": "ca908c7c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Last modified: 2026-01-08\n" ] } ], "source": [ "from datetime import date\n", "import pandas as pd\n", "# suppress warnings\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "print(\"Last modified:\", date.today())" ] }, { "cell_type": "code", "execution_count": 14, "id": "56af03f7", "metadata": {}, "outputs": [], "source": [ "# read Excel file data from this link: https://data.london.gov.uk/download/em8xy/f5066d66-c7a3-415f-9629-026fbda61822/LFB%20Incident%20data%20from%202018%20-%202023.xlsx\n", "# data from 2024:\n", "# https://data.london.gov.uk/download/em8xy/58m/LFB%20Incident%20data%20from%202024%20onwards.xlsx\n", "import pandas as pd\n", "df = pd.read_excel('https://data.london.gov.uk/download/em8xy/f5066d66-c7a3-415f-9629-026fbda61822/LFB%20Incident%20data%20from%202018%20-%202023.xlsx')" ] }, { "cell_type": "code", "execution_count": 15, "id": "b6024ebc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['IncidentNumber', 'DateOfCall', 'CalYear', 'TimeOfCall', 'HourOfCall', 'IncidentGroup', 'StopCodeDescription', 'SpecialServiceType', 'PropertyCategory', 'PropertyType', 'AddressQualifier', 'Postcode_full', 'Postcode_district', 'UPRN', 'USRN', 'IncGeo_BoroughCode', 'IncGeo_BoroughName', 'ProperCase', 'IncGeo_WardCode', 'IncGeo_WardName', 'IncGeo_WardNameNew', 'Easting_m', 'Northing_m', 'Easting_rounded', 'Northing_rounded', 'Latitude', 'Longitude', 'FRS', 'IncidentStationGround', 'FirstPumpArriving_AttendanceTime', 'FirstPumpArriving_DeployedFromStation', 'SecondPumpArriving_AttendanceTime', 'SecondPumpArriving_DeployedFromStation', 'NumStationsWithPumpsAttending', 'NumPumpsAttending', 'PumpCount', 'PumpMinutesRounded', 'Notional Cost (£)', 'NumCalls']\n" ] } ], "source": [ "print(df.columns.tolist())" ] }, { "cell_type": "code", "execution_count": 16, "id": "fde5f559", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | IncidentNumber | \n", "DateOfCall | \n", "CalYear | \n", "TimeOfCall | \n", "HourOfCall | \n", "IncidentGroup | \n", "StopCodeDescription | \n", "SpecialServiceType | \n", "PropertyCategory | \n", "PropertyType | \n", "... | \n", "FirstPumpArriving_AttendanceTime | \n", "FirstPumpArriving_DeployedFromStation | \n", "SecondPumpArriving_AttendanceTime | \n", "SecondPumpArriving_DeployedFromStation | \n", "NumStationsWithPumpsAttending | \n", "NumPumpsAttending | \n", "PumpCount | \n", "PumpMinutesRounded | \n", "Notional Cost (£) | \n", "NumCalls | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "000008-01012018 | \n", "2018-01-01 | \n", "2018 | \n", "00:04:25 | \n", "0 | \n", "False Alarm | \n", "AFA | \n", "NaN | \n", "Non Residential | \n", "Mosque | \n", "... | \n", "348.0 | \n", "Finchley | \n", "NaN | \n", "NaN | \n", "1.0 | \n", "1.0 | \n", "1 | \n", "60 | \n", "328 | \n", "1.0 | \n", "
| 1 | \n", "000009-01012018 | \n", "2018-01-01 | \n", "2018 | \n", "00:04:30 | \n", "0 | \n", "False Alarm | \n", "AFA | \n", "NaN | \n", "Non Residential | \n", "Pub/wine bar/bar | \n", "... | \n", "144.0 | \n", "Beckenham | \n", "NaN | \n", "NaN | \n", "1.0 | \n", "1.0 | \n", "1 | \n", "60 | \n", "328 | \n", "1.0 | \n", "
| 2 | \n", "000010-01012018 | \n", "2018-01-01 | \n", "2018 | \n", "00:04:34 | \n", "0 | \n", "Fire | \n", "Secondary Fire | \n", "NaN | \n", "Outdoor Structure | \n", "Common external bin storage area | \n", "... | \n", "232.0 | \n", "Southgate | \n", "NaN | \n", "NaN | \n", "1.0 | \n", "1.0 | \n", "1 | \n", "60 | \n", "328 | \n", "1.0 | \n", "
| 3 | \n", "000011-01012018 | \n", "2018-01-01 | \n", "2018 | \n", "00:04:58 | \n", "0 | \n", "Special Service | \n", "Special Service | \n", "RTC | \n", "Road Vehicle | \n", "Multiple Vehicles | \n", "... | \n", "22.0 | \n", "Enfield | \n", "NaN | \n", "NaN | \n", "1.0 | \n", "1.0 | \n", "1 | \n", "60 | \n", "328 | \n", "1.0 | \n", "
| 4 | \n", "000014-01012018 | \n", "2018-01-01 | \n", "2018 | \n", "00:07:47 | \n", "0 | \n", "Fire | \n", "Primary Fire | \n", "NaN | \n", "Road Vehicle | \n", "Car | \n", "... | \n", "241.0 | \n", "Stratford | \n", "NaN | \n", "NaN | \n", "1.0 | \n", "1.0 | \n", "1 | \n", "60 | \n", "328 | \n", "6.0 | \n", "
5 rows × 39 columns
\n", "| \n", " | DateOfCall | \n", "IncidentCount | \n", "
|---|---|---|
| 0 | \n", "2023-01-01 | \n", "402 | \n", "
| 1 | \n", "2023-01-02 | \n", "293 | \n", "
| 2 | \n", "2023-01-03 | \n", "267 | \n", "
| 3 | \n", "2023-01-04 | \n", "285 | \n", "
| 4 | \n", "2023-01-05 | \n", "305 | \n", "
| \n", " | DATE | \n", "TX | \n", "Q_TX | \n", "TN | \n", "Q_TN | \n", "TG | \n", "Q_TG | \n", "SS | \n", "Q_SS | \n", "SD | \n", "... | \n", "RR | \n", "Q_RR | \n", "Q_QQ | \n", "PP | \n", "Q_PP | \n", "HU | \n", "Q_HU | \n", "CC | \n", "Q_CC | \n", "|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "19790101 | \n", "23.0 | \n", "0 | \n", "-75.0 | \n", "0 | \n", "-41.0 | \n", "0 | \n", "70.0 | \n", "0 | \n", "9.0 | \n", "... | \n", "4.0 | \n", "0 | \n", "52.0 | \n", "0 | \n", "10190.0 | \n", "0 | \n", "83.0 | \n", "0 | \n", "2.0 | \n", "0 | \n", "
| 1 | \n", "19790102 | \n", "16.0 | \n", "0 | \n", "-75.0 | \n", "0 | \n", "-26.0 | \n", "0 | \n", "17.0 | \n", "0 | \n", "8.0 | \n", "... | \n", "0.0 | \n", "0 | \n", "27.0 | \n", "0 | \n", "10253.0 | \n", "0 | \n", "76.0 | \n", "0 | \n", "6.0 | \n", "0 | \n", "
| 2 | \n", "19790103 | \n", "13.0 | \n", "0 | \n", "-72.0 | \n", "0 | \n", "-28.0 | \n", "0 | \n", "0.0 | \n", "0 | \n", "4.0 | \n", "... | \n", "0.0 | \n", "0 | \n", "13.0 | \n", "0 | \n", "10205.0 | \n", "0 | \n", "86.0 | \n", "0 | \n", "5.0 | \n", "0 | \n", "
| 3 | \n", "19790104 | \n", "-3.0 | \n", "0 | \n", "-65.0 | \n", "0 | \n", "-26.0 | \n", "0 | \n", "0.0 | \n", "0 | \n", "2.0 | \n", "... | \n", "0.0 | \n", "0 | \n", "13.0 | \n", "0 | \n", "10084.0 | \n", "0 | \n", "68.0 | \n", "0 | \n", "8.0 | \n", "0 | \n", "
| 4 | \n", "19790105 | \n", "56.0 | \n", "0 | \n", "-14.0 | \n", "0 | \n", "-8.0 | \n", "0 | \n", "20.0 | \n", "0 | \n", "1.0 | \n", "... | \n", "0.0 | \n", "0 | \n", "29.0 | \n", "0 | \n", "10225.0 | \n", "0 | \n", "73.0 | \n", "0 | \n", "6.0 | \n", "0 | \n", "
5 rows × 21 columns
\n", "| \n", " | DateOfCall | \n", "IncidentCount | \n", "DATE | \n", "TX | \n", "Q_TX | \n", "TN | \n", "Q_TN | \n", "TG | \n", "Q_TG | \n", "SS | \n", "... | \n", "Q_QQ | \n", "PP | \n", "Q_PP | \n", "HU | \n", "Q_HU | \n", "CC | \n", "Q_CC | \n", "IsWeekend | \n", "weekday | \n", "|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "2023-01-01 | \n", "402 | \n", "2023-01-01 | \n", "93.0 | \n", "1 | \n", "100.0 | \n", "1 | \n", "112.0 | \n", "1 | \n", "0.0 | \n", "... | \n", "21.0 | \n", "0 | \n", "10080.0 | \n", "0 | \n", "81.0 | \n", "0 | \n", "7.0 | \n", "0 | \n", "1 | \n", "Sunday | \n", "
| 1 | \n", "2023-01-02 | \n", "293 | \n", "2023-01-02 | \n", "134.0 | \n", "0 | \n", "52.0 | \n", "0 | \n", "72.0 | \n", "0 | \n", "52.0 | \n", "... | \n", "44.0 | \n", "0 | \n", "10169.0 | \n", "0 | \n", "86.0 | \n", "0 | \n", "3.0 | \n", "0 | \n", "0 | \n", "Monday | \n", "
| 2 | \n", "2023-01-03 | \n", "267 | \n", "2023-01-03 | \n", "139.0 | \n", "0 | \n", "21.0 | \n", "0 | \n", "78.0 | \n", "0 | \n", "0.0 | \n", "... | \n", "9.0 | \n", "0 | \n", "10186.0 | \n", "0 | \n", "93.0 | \n", "0 | \n", "7.0 | \n", "0 | \n", "0 | \n", "Tuesday | \n", "
| 3 | \n", "2023-01-04 | \n", "285 | \n", "2023-01-04 | \n", "135.0 | \n", "0 | \n", "92.0 | \n", "0 | \n", "116.0 | \n", "0 | \n", "4.0 | \n", "... | \n", "17.0 | \n", "0 | \n", "10146.0 | \n", "0 | \n", "82.0 | \n", "0 | \n", "6.0 | \n", "0 | \n", "0 | \n", "Wednesday | \n", "
| 4 | \n", "2023-01-05 | \n", "305 | \n", "2023-01-05 | \n", "127.0 | \n", "0 | \n", "89.0 | \n", "0 | \n", "112.0 | \n", "0 | \n", "4.0 | \n", "... | \n", "28.0 | \n", "0 | \n", "10186.0 | \n", "0 | \n", "82.0 | \n", "0 | \n", "8.0 | \n", "0 | \n", "0 | \n", "Thursday | \n", "
5 rows × 25 columns
\n", "