In [1]:
#from http://www.ons.gov.uk/ons/publications/re-reference-tables.html?edition=tcm%3A77-168405
"http://www.ons.gov.uk/ons/rel/occupational-mortality/occupational-mortality-in-england-and-wales/occupational-mortality/occupational-mortality--men-age-16-64.zip"


Out[1]:
'http://www.ons.gov.uk/ons/rel/occupational-mortality/occupational-mortality-in-england-and-wales/occupational-mortality/occupational-mortality--men-age-16-64.zip'

In [10]:
import requests
from StringIO import StringIO
from numpy import nan as NA
import pandas as pd
import zipfile
import re
%matplotlib inline
import matplotlib.pyplot as plt
import xlrd

In [22]:
url = "http://www.ons.gov.uk/ons/rel/occupational-mortality/occupational-mortality-in-england-and-wales/occupational-mortality/occupational-mortality--men-age-65-74.zip"
r = requests.get(url)
z = zipfile.ZipFile(StringIO(r.content))
notes = pd.read_excel(z.open('Men65_74.xls'), sheetname=1)
df = pd.read_excel(z.open('Men65_74.xls'), sheetname=2)

In [29]:
notes[15:]


Out[29]:
Notes to the Table Unnamed: 1
15 NaN Mortality in England and Wales,. 1991-2000, Ap...
16 Occupation Name of occupation group
17 Observed Actual number of deaths occurring for that com...
18 Exp_Adj Expected number of deaths for this combination...
19 NaN accounted for by this cause, and standardised ...
20 PMR_Adj Ratio of observed to expected deaths, where ex...
21 Lower_adj Lower 95 per cent confidence limit for PMR_Adj
22 Upper_Adj Upper 95 per cent confidence limit for PMR_Adj
23 Exp_Unadj Expected number of deaths for this combination...
24 NaN accounted for by this cause, and standardised ...
25 PMR_Unadj Ratio of observed to expected deaths, where ex...
26 Lower_Unadj Lower 95 per cent confidence limit for PMR_Unadj
27 Upper_Unadj Upper 95 per cent confidence limit for PMR_Unadj

In [33]:
df.columns


Out[33]:
Index([     u'diagrp',      u'Cause ',        u'SOdm',  u'Occupation',
          u'Observed',     u'Exp_Adj',     u'PMR_Adj',   u'Lower_Adj',
         u'Upper_Adj',   u'Exp_Unadj',   u'PMR_Unadj', u'Lower_Unadj',
       u'Upper_Unadj'],
      dtype='object')

In [34]:
df.columns = [x.strip() for x in df.columns]

In [63]:
df.Cause.unique()


Out[63]:
array([u'Intestinal infectious diseases', u'Tuberculosis',
       u'Zoonotic bacterial diseases', u'Meningococcal infections',
       u'Septicaemia', u'Viral hepatitis', u'Sarcoidosis', u'HIV',
       u'Cancer of the oral cavity', u'Cancer of the salivary glands',
       u'Cancer of the pharynx (specified)', u'Cancer of oesophagus',
       u'Cancer of the stomach', u'Cancer of the small intestine',
       u'Cancer of the colon', u'Cancer of the rectum',
       u'Cancer of the liver', u'Cancer of the gall bladder',
       u'Cancer of the pancreas', u'Cancer of the retroperitoneum',
       u'Cancer of the peritoneum',
       u'Cancer of the nose and nasal sinuses', u'Cancer of the larynx',
       u'Cancer of the bronchus', u'Cancer of the pleura',
       u'Cancer of the thymus', u'Cancer of other mediastinum',
       u'Cancer of bone', u'Cancer of soft tissue', u'Melanoma of skin',
       u'Other cancer of skin', u'Cancer of the female breast',
       u'Cancer of the male breast',
       u'Cancer of the uterus, part unspecified', u'Cancer of the cervix',
       u'Cancer of the placenta', u'Cancer of the body of uterus',
       u'Cancer of the ovary', u'Cancer of the prostate',
       u'Cancer of the testis', u'Cancer of the penis',
       u'Cancer of the scrotum', u'Urothelial cancer',
       u'Cancer of the kidney (except pelvis)', u'Cancer of the eye',
       u'Cancer of the brain', u'Meningeal tumour',
       u'Cancer of the thyroid', u'Cancer of the suprarenal',
       u'Cancer of other endocrine organs', u"Non-Hodgkin's lymphoma",
       u"Hodgkin's disease", u'Myeloma', u'All leukaemias',
       u'Acute lymphatic leukaemia', u'Chronic lymphatic leukaemia',
       u'Acute myeloid leukaemia', u'Chronic myeloid leukaemia',
       u'Acute monocytic leukaemia', u'Other leukaemia', u'Adrenal tumour',
       u'Pituitary tumour', u'Thyrotoxicosis', u'Hypothyroidism',
       u'Diabetes', u"Cushing's disease", u"Addison's disease",
       u'Amyloidosis', u'Immunodeficiency', u'Haemolytic anaemia',
       u'Aplastic anaemia', u'Defibrination syndrome', u'Purpura',
       u'Agranulocytosis', u'Dementia', u'Other alcohol-related diseases',
       u'Drug dependence', u'Anorexia nervosa',
       u'Bacterial and unspecified meningitis', u'Encephalitis',
       u'Intracranial/spinal abscess', u"Parkinson's disease",
       u'Motor neuron disease', u'Multiple sclerosis', u'Epilepsy',
       u'Guillain Barre syndrome', u'Myasthenia',
       u'Chronic rheumatic heart disease', u'Hypertensive disease',
       u'Ischaemic heart disease', u'Pulmonary embolism and phlebitis',
       u'Pulmonary hypertension', u'Cor pulmonale', u'Pericarditis',
       u'Endocarditis', u'Acute myocarditis', u'Mitral valve disease',
       u'Aortic valve disorders', u'Other cardiomyopathies',
       u'Atrial fibrillation', u'Chronic and unspecified myocarditis',
       u'Sub-arachnoid haemorrhage', u'Other cerebrovascular disease',
       u'Aortic aneurysm', u'Other aneurysm', u'Peripheral valve disease',
       u'Arterial embolism and thrombosis', u'Polyarthritis nodosa',
       u"Wegener's granulomatosis", u'Arteritis',
       u'Portal vein thrombosis', u'Oesophageal varices',
       u'Acute upper respiratory infection', u'Acute bronchitis',
       u'Viral pneumonia', u'Pneumoccal and unspecified lobar pneumonia',
       u'Other bacterial pneumonia', u'Other specified pneumonia',
       u'Bronchopneumonia', u'Unspecified pneumonia', u'Influenza',
       u'Chronic bronchitis and emphysema', u'Asthma', u'Bronchiectasis',
       u"Farmer's lung disease", u"Bird fancier's lung",
       u'Other and unspecified allergic pneumonitis',
       u"Coal worker's pneumoconiosis", u'Asbestosis', u'Silicosis',
       u'Other pneumoconiosis', u'Byssinosis',
       u'Respiratory conditions from chemical fumes', u'Pleurisy',
       u'Pneumothorax', u'Pulmonary fibrosis', u'Fibrosing alveolitis',
       u'Oesophageal disease', u'Gastric ulcer', u'Duodenal ulcer',
       u'Peptic ulcer', u'Gastrojejunal ulcer',
       u'Non-alcoholic gastritis and duodenitis', u'Appendicitis',
       u'Inguinal hernia', u'Other hernia', u"Crohn's disease",
       u'Ulcerative colitis', u'Other colitis', u'Volvulus',
       u'Diverticular disease', u'Peritonitis', u'Hepatitis',
       u'Cirrhosis (not specified as biliary)', u'Biliary cirrhosis',
       u'Cholelithiasis and cholecystitis', u'Pancreatitis',
       u'Glomerulonephritis', u'Renal failure', u'Urinary infections',
       u'Hydronephrosis', u'Renal stones', u'Hyperplasia of prostate',
       u'Pelvic inflammatory disease', u'Ovarian cysts',
       u'Ectopic pregnancy', u'Complications of pregnancy',
       u'Complications of delivery', u'Complications of puerperium',
       u'Infections of skin, joints and bones', u'Erythematous conditions',
       u'Systemic lupus erythematous', u'Systematic sclerosis',
       u'Myositis', u'Rheumatoid arthritis', u'Ankylosing spondylitis',
       u'Osteoporosis', u'Railway accidents',
       u'Motor vehicle traffic accidents',
       u'Off-road motor vehicle traffic accidents',
       u'Pedal cycle accidents', u'Animal transport accidents',
       u'Water transport accidents', u'Air transport accidents',
       u'Other vehicle accidents', u'Accidental poisoning by drugs',
       u'Methanol poisoning', u'Poisoning by cleansing agents',
       u'Poisoning by solvents', u'Pesticide poisoning',
       u'Poisoning by corrosive and caustics', u'Other poisoning',
       u'Poisoning by gas and other domestic fuels',
       u'Poisoning by liquefied petroleum gas',
       u'Poisoning by motor vehicle exhaust',
       u'Poisoning by carbon monoxide from other sources',
       u'Poisoning by other gases', u'Fall on stairs',
       u'Fall from ladder or scaffolding', u'Fall from building',
       u'Fall into hole', u'Other fall', u'Slipping and tripping',
       u'Fracture unspecified', u'Fall unspecified', u'Injured by fire',
       u'Heat injury', u'Cold injury',
       u'Injury by high or low air pressure',
       u'Injury by animals and plants', u'Injury by lightning',
       u'Non-recreational drowning', u'Injury by falling object',
       u'Injury by being caught between objects', u'Injury by machinery',
       u'Injury by cutting and piercing instruments or',
       u'Injury by explosion of pressure vessel', u'Injury by firearms',
       u'Injury by explosive material', u'Injury by hot substances',
       u'Injury by electric current', u'Overexertion', u'Other accidents',
       u'Suicide', u'Homicide',
       u'Injury undetermined as accidental or purposef', u'War',
       u'Unspecified Group'], dtype=object)

In [83]:
df[((df['Cause'] == 'Pulmonary fibrosis') | (df['Cause'] == 'Fibrosing alveolitis')) & (df['Observed'] > 5)].sort('PMR_Adj', ascending=False)


Out[83]:
diagrp Cause SOdm Occupation Observed Exp_Adj PMR_Adj Lower_Adj Upper_Adj Exp_Unadj PMR_Unadj Lower_Unadj Upper_Unadj
24550 138 Pulmonary fibrosis 123 Machine Tool Setter Operators 6 2.463433 243.56250 89.38338 530.13410 2.435855 246.32010 90.39538 536.13630
24699 139 Fibrosing alveolitis 84 Ceramics casters 8 3.410907 234.54170 101.25750 462.14100 3.398858 235.37320 101.61650 463.77930
24436 138 Pulmonary fibrosis 2 Accountants and Financial Managers 11 5.179028 212.39510 106.02760 380.03270 6.008953 183.06020 91.38364 327.54460
24599 138 Pulmonary fibrosis 182 Bus & Coach Drivers 11 5.688039 193.38830 96.53942 346.02440 5.085345 216.30780 107.98090 387.03380
24690 139 Fibrosing alveolitis 75 Chemical workers 15 8.144490 184.17360 103.08070 303.76610 7.703251 194.72300 108.98520 321.16570
24621 139 Fibrosing alveolitis 6 Sales Managers etc. 30 16.380030 183.14990 123.57060 261.45810 15.161290 197.87230 133.50380 282.47530
24671 139 Fibrosing alveolitis 56 Roundsmen/women & Van Salespersons 6 3.437844 174.52800 64.04886 379.87470 3.420561 175.40980 64.37249 381.79410
24601 138 Pulmonary fibrosis 184 Other motor drivers 11 6.404210 171.76200 85.74360 307.32910 5.784600 190.16010 94.92790 340.24820
24573 138 Pulmonary fibrosis 149 Welding Trades 8 4.880501 163.91760 70.76733 322.98320 4.435566 180.36030 77.86605 355.38190
24676 139 Fibrosing alveolitis 61 Hospital Porters and Ward Orderlies 12 7.469115 160.66160 83.01653 280.64370 7.065194 169.84670 87.76263 296.68820
24657 139 Fibrosing alveolitis 42 Butchers 9 5.610746 160.40650 73.34853 304.50140 5.582460 161.21920 73.72018 306.04430
24669 139 Fibrosing alveolitis 54 Postal Workers, Mail Sorters 18 11.560610 155.70120 92.27804 246.07530 10.909750 164.99010 97.78320 260.75580
24474 138 Pulmonary fibrosis 40 Managers in Transport, Mining and Energy Indus... 7 4.852604 144.25240 57.99772 297.21570 5.250402 133.32310 53.60352 274.69710
24533 138 Pulmonary fibrosis 104 Carpenters & Joiners 16 11.269040 141.98190 81.15510 230.56980 10.189130 157.03000 89.75642 255.00700
24740 139 Fibrosing alveolitis 133 Motor Mechanics, Auto Engineers (including roa... 19 13.425520 141.52150 85.20490 221.00370 13.295340 142.90730 86.03919 223.16770
24750 139 Fibrosing alveolitis 145 Sheet Metal Workers 6 4.245677 141.32020 51.86216 307.59520 4.229693 141.85430 52.05815 308.75760
24568 138 Pulmonary fibrosis 144 Plumbers, Heating & Ventilating Engineers & Re... 11 7.816734 140.72370 70.24928 251.79310 7.031103 156.44770 78.09869 279.92760
24487 138 Pulmonary fibrosis 53 Office Workers and Cashiers 29 21.662120 133.87420 89.65788 192.26550 22.215400 130.54010 87.42493 187.47710
24655 139 Fibrosing alveolitis 40 Managers in Transport, Mining and Energy Indus... 18 13.725140 131.14620 77.72527 207.26790 12.691940 141.82230 84.05253 224.14060
24795 139 Fibrosing alveolitis 198 Other Labourers 71 54.282220 130.79790 102.15430 164.98370 66.089290 107.43040 83.90406 135.50880
24607 138 Pulmonary fibrosis 190 Storekeepers & warehousemen/women 13 10.032320 129.58120 68.99699 221.58780 11.063340 117.50520 62.56699 200.93750
24780 139 Fibrosing alveolitis 182 Bus & Coach Drivers 16 12.491670 128.08540 73.21200 208.00260 12.421800 128.80580 73.62378 209.17260
24653 139 Fibrosing alveolitis 38 Production and maintenance managers 29 22.824100 127.05870 85.09339 182.47730 21.181210 136.91380 91.69353 196.63090
24645 139 Fibrosing alveolitis 30 Other Professional Engineers 18 14.221410 126.56970 75.01294 200.03500 17.432650 103.25450 61.19495 163.18690
24754 139 Fibrosing alveolitis 149 Welding Trades 13 10.548860 123.23600 65.61845 210.73740 10.446600 124.44240 66.26080 212.80040
24478 138 Pulmonary fibrosis 44 Retailers and Dealers 9 7.315822 123.02100 56.25342 233.53220 7.485923 120.22570 54.97519 228.22570
24654 139 Fibrosing alveolitis 39 Managers in Construction 8 6.541175 122.30220 52.80091 240.98420 6.163199 129.80270 56.03908 255.76330
24748 139 Fibrosing alveolitis 143 Electrical Engineers (not professional) 7 5.783771 121.02830 48.66029 249.36500 5.738286 121.98770 49.04601 251.34160
24765 139 Fibrosing alveolitis 167 Plasterers 6 5.041742 119.00650 43.67340 259.02760 4.986297 120.32980 44.15902 261.90780
24786 139 Fibrosing alveolitis 188 Fork Lift & Mechanical Truck Drivers 10 8.465798 118.12240 56.64439 217.23170 8.390629 119.18060 57.15186 219.17790
... ... ... ... ... ... ... ... ... ... ... ... ... ...
24707 139 Fibrosing alveolitis 97 Printers 8 8.550961 93.55673 40.39078 184.34420 8.505954 94.05177 40.60450 185.31960
24782 139 Fibrosing alveolitis 184 Other motor drivers 13 14.022930 92.70530 49.36200 158.52890 13.887610 93.60864 49.84300 160.07370
24551 138 Pulmonary fibrosis 124 Machine Tool Operatives (including CNC machine... 9 9.763569 92.17941 42.15057 174.98520 10.842050 83.01017 37.95778 157.57910
24767 139 Fibrosing alveolitis 169 Builders, Building Contractors 20 21.827090 91.62926 55.96944 141.51410 21.646060 92.39558 56.43753 142.69760
24639 139 Fibrosing alveolitis 24 Literary and Artistic Occupations 14 15.320120 91.38309 49.95979 153.32510 14.447160 96.90488 52.97859 162.58980
24562 138 Pulmonary fibrosis 137 Electricians, Electrical Maintenance Fitters 8 8.773247 91.18630 39.36741 179.67350 7.927672 100.91230 43.56638 198.83770
24672 139 Fibrosing alveolitis 57 Sales Representatives 14 15.476830 90.45781 49.45393 151.77270 15.730200 89.00079 48.65737 149.32810
24763 139 Fibrosing alveolitis 164 Packers, Sorters and Testers 12 13.290970 90.28685 46.65272 157.71310 12.762600 94.02474 48.58415 164.24240
24443 138 Pulmonary fibrosis 9 Other Administrators 19 21.138670 89.88268 54.11505 140.36320 22.751370 83.51147 50.27917 130.41370
24749 139 Fibrosing alveolitis 144 Plumbers, Heating & Ventilating Engineers & Re... 15 16.948800 88.50185 49.53389 145.97020 16.884000 88.84151 49.72400 146.53050
24794 139 Fibrosing alveolitis 197 Other Transport and Machine Operatives 10 11.327610 88.27988 42.33374 162.35030 10.812370 92.48667 44.35106 170.08670
24625 139 Fibrosing alveolitis 10 Teachers in Higher Education 6 6.847532 87.62281 32.15611 190.71840 7.340598 81.73721 29.99619 177.90790
24662 139 Fibrosing alveolitis 47 Farmers 33 37.872480 87.13451 59.97944 122.36930 35.539190 92.85523 63.91732 130.40340
24651 139 Fibrosing alveolitis 36 Seafarers 7 8.035377 87.11476 35.02511 179.49000 7.521931 93.06120 37.41592 191.74200
24781 139 Fibrosing alveolitis 183 Lorry drivers 57 65.937490 86.44550 65.47292 112.00020 65.653760 86.81909 65.75587 112.48420
24673 139 Fibrosing alveolitis 58 Security Workers 22 25.546590 86.11716 53.96923 130.38260 24.252620 90.71184 56.84870 137.33900
24558 138 Pulmonary fibrosis 132 Production fitters 14 16.745920 83.60246 45.70606 140.27060 15.050520 93.02007 50.85474 156.07170
24675 139 Fibrosing alveolitis 60 Other Service Personnel 26 31.171400 83.40980 54.48617 122.21460 33.570930 77.44796 50.59169 113.47910
24656 139 Fibrosing alveolitis 41 General and office managers 12 14.441440 83.09418 42.93615 145.14890 13.350890 89.88168 46.44336 157.00530
24591 138 Pulmonary fibrosis 174 Other Construction Workers 10 12.229760 81.76777 39.21092 150.37420 11.863920 84.28921 40.42004 155.01120
24788 139 Fibrosing alveolitis 190 Storekeepers & warehousemen/women 22 27.678890 79.48296 49.81161 120.33830 26.313930 83.60590 52.39544 126.58050
24492 138 Pulmonary fibrosis 58 Security Workers 7 8.904111 78.61537 31.60787 161.97800 10.017060 69.88079 28.09607 143.98140
24481 138 Pulmonary fibrosis 47 Farmers 10 13.614370 73.45179 35.22307 135.08080 14.992530 66.69990 31.98527 122.66380
24586 138 Pulmonary fibrosis 169 Builders, Building Contractors 7 10.030310 69.78848 28.05895 143.79120 9.096371 76.95376 30.93981 158.55440
24759 139 Fibrosing alveolitis 160 Painters & Decorators 16 22.951030 69.71365 39.84745 113.21060 22.862360 69.98404 40.00200 113.64970
24617 139 Fibrosing alveolitis 2 Accountants and Financial Managers 9 13.532080 66.50863 30.41218 126.25410 14.194400 63.40527 28.99312 120.36290
24661 139 Fibrosing alveolitis 46 Caterers 6 9.096940 65.95625 24.20484 143.55930 8.996549 66.69224 24.47494 145.16120
24659 139 Fibrosing alveolitis 44 Retailers and Dealers 10 17.314950 57.75357 27.69515 106.21110 17.075470 58.56356 28.08357 107.70070
24772 139 Fibrosing alveolitis 174 Other Construction Workers 13 25.219410 51.54760 27.44712 88.14799 28.082690 46.29186 24.64864 79.16051
24626 139 Fibrosing alveolitis 11 School Teachers 6 13.054130 45.96245 16.86745 100.04110 12.090690 49.62497 18.21154 108.01290

83 rows × 13 columns


In [78]:
df[(df['Cause'] == 'Fibrosising alveolitis') & (df['Observed'] > 5)].sort('PMR_Adj', ascending=False)


Out[78]:
diagrp Cause SOdm Occupation Observed Exp_Adj PMR_Adj Lower_Adj Upper_Adj Exp_Unadj PMR_Unadj Lower_Unadj Upper_Unadj

In [ ]: