In [149]:
%load_ext autoreload
%autoreload 2
%reload_ext autoreload


The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload

In [170]:
import json
import os
import pandas as pd
from shapely.geometry import shape, Point

In [151]:
from geo import geo

In [152]:
p = Point((42.451171875, 35.82672127366604))
print(p)
geo.point_to_iraq(p)


POINT (42.451171875 35.82672127366604)
Out[152]:
{'ISO3166-2': 'IQ-NI',
 'admin_level': '4',
 'alt_name': 'Nīnawā',
 'alt_name:syc': 'Nīnwē',
 'boundary': 'administrative',
 'name': 'نینوى',
 'name:ar': 'نینوى',
 'name:de': 'Ninawa',
 'name:en': 'Nineveh',
 'name:ja': 'ニーナワー',
 'name:ku': 'Neynewa',
 'name:pl': 'Niniwa',
 'name:ru': 'Найнава',
 'name:syc': 'ܢܝܢܘܐ',
 'name:uk': 'Найнава',
 'source': 'Wikimedia Commons',
 'wikidata': 'Q189352',
 'wikipedia': 'en:Nineveh Province'}

In [153]:
df = pd.read_csv('../data/iraq_pol_risk.csv')

In [154]:
df['Region'] = ''

In [155]:
df.head()


Out[155]:
ActionGeo_Lat ActionGeo_Long polriskevents Region
0 29.7837 48.8070 0
1 29.8775 48.3833 21
2 29.9222 48.4867 1
3 29.9453 48.4711 0
4 30.0362 47.9195 9

In [156]:
for x in df.itertuples():
    point = Point((x.ActionGeo_Long, x.ActionGeo_Lat))
    output = geo.point_to_iraq(point)
    if output:
        df.loc[x.Index, 'Region'] = output['name:en']
    else:
        df.loc[x.Index, 'Region'] = 'Not found'

In [199]:
df.sort_values(by='Region').head()


Out[199]:
ActionGeo_Lat ActionGeo_Long polriskevents Region
435 33.9799 42.5556 3 Al Anbar
352 33.3558 43.7861 356 Al Anbar
155 31.8172 42.4570 0 Al Anbar
152 31.7587 43.3183 0 Al Anbar
280 32.7683 43.6065 2 Al Anbar

In [164]:
results = df[['Region', 'polriskevents']].groupby(by='Region').aggregate(
    ['count', 'sum', 'mean', 'std', 'min', 'median', 'max'])

In [165]:
results


Out[165]:
polriskevents
count sum mean std min median max
Region
Al Anbar 43 22872 531.906977 3157.280549 0 3.0 20729
Al-Qadisiyah 32 100 3.125000 5.540176 0 1.0 23
Babil 58 1023 17.637931 112.556683 0 1.0 859
Baghdad 66 8374 126.878788 954.423588 0 2.0 7762
Diyala 78 970 12.435897 66.620965 0 1.0 583
Dohuk 47 208 4.425532 15.549003 0 1.0 106
Erbil 59 1377 23.338983 125.058691 0 1.0 933
Halabja 19 139 7.315789 19.485187 0 1.0 85
Karbala 7 222 31.714286 74.738911 0 3.0 201
Kirkuk 30 1446 48.200000 218.717327 0 2.0 1201
Maysan 29 237 8.172414 28.180628 0 0.0 142
Muthanna 20 254 12.700000 26.399960 0 2.0 104
Najaf 15 173 11.533333 30.856504 0 3.0 122
Nineveh 103 4319 41.932039 117.752004 0 2.0 680
Not found 103 1613 15.660194 103.510116 0 2.0 1052
Saladin 68 1647 24.220588 106.128737 0 1.5 825
Sulaymaniyah 51 249 4.882353 20.447638 0 1.0 146
Wasit 28 194 6.928571 23.063405 0 0.0 120

In [189]:
s = results.to_dict()

In [192]:
s = {
  "polriskevents-count": {
    "Al Anbar": 43,
    "Al-Qadisiyah": 32,
    "Babil": 58,
    "Baghdad": 66,
    "Diyala": 78,
    "Dohuk": 47,
    "Erbil": 59,
    "Halabja": 19,
    "Karbala": 7,
    "Kirkuk": 30,
    "Maysan": 29,
    "Muthanna": 20,
    "Najaf": 15,
    "Nineveh": 103,
    "Not found": 103,
    "Saladin": 68,
    "Sulaymaniyah": 51,
    "Wasit": 28
  },
  "polriskevents-max": {
    "Al Anbar": 20729,
    "Al-Qadisiyah": 23,
    "Babil": 859,
    "Baghdad": 7762,
    "Diyala": 583,
    "Dohuk": 106,
    "Erbil": 933,
    "Halabja": 85,
    "Karbala": 201,
    "Kirkuk": 1201,
    "Maysan": 142,
    "Muthanna": 104,
    "Najaf": 122,
    "Nineveh": 680,
    "Not found": 1052,
    "Saladin": 825,
    "Sulaymaniyah": 146,
    "Wasit": 120
  },
  "polriskevents-mean": {
    "Al Anbar": 531.90697674418607,
    "Al-Qadisiyah": 3.125,
    "Babil": 17.637931034482758,
    "Baghdad": 126.87878787878788,
    "Diyala": 12.435897435897436,
    "Dohuk": 4.4255319148936172,
    "Erbil": 23.338983050847457,
    "Halabja": 7.3157894736842106,
    "Karbala": 31.714285714285715,
    "Kirkuk": 48.200000000000003,
    "Maysan": 8.1724137931034484,
    "Muthanna": 12.699999999999999,
    "Najaf": 11.533333333333333,
    "Nineveh": 41.932038834951456,
    "Not found": 15.660194174757281,
    "Saladin": 24.220588235294116,
    "Sulaymaniyah": 4.882352941176471,
    "Wasit": 6.9285714285714288
  },
  "polriskevents-median": {
    "Al Anbar": 3.0,
    "Al-Qadisiyah": 1.0,
    "Babil": 1.0,
    "Baghdad": 2.0,
    "Diyala": 1.0,
    "Dohuk": 1.0,
    "Erbil": 1.0,
    "Halabja": 1.0,
    "Karbala": 3.0,
    "Kirkuk": 2.0,
    "Maysan": 0.0,
    "Muthanna": 2.0,
    "Najaf": 3.0,
    "Nineveh": 2.0,
    "Not found": 2.0,
    "Saladin": 1.5,
    "Sulaymaniyah": 1.0,
    "Wasit": 0.0
  },
  "polriskevents-min": {
    "Al Anbar": 0,
    "Al-Qadisiyah": 0,
    "Babil": 0,
    "Baghdad": 0,
    "Diyala": 0,
    "Dohuk": 0,
    "Erbil": 0,
    "Halabja": 0,
    "Karbala": 0,
    "Kirkuk": 0,
    "Maysan": 0,
    "Muthanna": 0,
    "Najaf": 0,
    "Nineveh": 0,
    "Not found": 0,
    "Saladin": 0,
    "Sulaymaniyah": 0,
    "Wasit": 0
  },
  "polriskevents-std": {
    "Al Anbar": 3157.2805493543206,
    "Al-Qadisiyah": 5.5401758444201734,
    "Babil": 112.55668330689114,
    "Baghdad": 954.42358786944544,
    "Diyala": 66.620965021177682,
    "Dohuk": 15.549003436332816,
    "Erbil": 125.05869107239644,
    "Halabja": 19.48518705632263,
    "Karbala": 74.738910628298299,
    "Kirkuk": 218.71732662392628,
    "Maysan": 28.180627800871147,
    "Muthanna": 26.399960127561599,
    "Najaf": 30.856503520713577,
    "Nineveh": 117.75200444869188,
    "Not found": 103.51011633785198,
    "Saladin": 106.12873702974802,
    "Sulaymaniyah": 20.447637573884691,
    "Wasit": 23.063404668882583
  },
  "polriskevents-sum": {
    "Al Anbar": 22872,
    "Al-Qadisiyah": 100,
    "Babil": 1023,
    "Baghdad": 8374,
    "Diyala": 970,
    "Dohuk": 208,
    "Erbil": 1377,
    "Halabja": 139,
    "Karbala": 222,
    "Kirkuk": 1446,
    "Maysan": 237,
    "Muthanna": 254,
    "Najaf": 173,
    "Nineveh": 4319,
    "Not found": 1613,
    "Saladin": 1647,
    "Sulaymaniyah": 249,
    "Wasit": 194
  }
}

In [193]:
s


Out[193]:
{'polriskevents-count': {'Al Anbar': 43,
  'Al-Qadisiyah': 32,
  'Babil': 58,
  'Baghdad': 66,
  'Diyala': 78,
  'Dohuk': 47,
  'Erbil': 59,
  'Halabja': 19,
  'Karbala': 7,
  'Kirkuk': 30,
  'Maysan': 29,
  'Muthanna': 20,
  'Najaf': 15,
  'Nineveh': 103,
  'Not found': 103,
  'Saladin': 68,
  'Sulaymaniyah': 51,
  'Wasit': 28},
 'polriskevents-max': {'Al Anbar': 20729,
  'Al-Qadisiyah': 23,
  'Babil': 859,
  'Baghdad': 7762,
  'Diyala': 583,
  'Dohuk': 106,
  'Erbil': 933,
  'Halabja': 85,
  'Karbala': 201,
  'Kirkuk': 1201,
  'Maysan': 142,
  'Muthanna': 104,
  'Najaf': 122,
  'Nineveh': 680,
  'Not found': 1052,
  'Saladin': 825,
  'Sulaymaniyah': 146,
  'Wasit': 120},
 'polriskevents-mean': {'Al Anbar': 531.9069767441861,
  'Al-Qadisiyah': 3.125,
  'Babil': 17.637931034482758,
  'Baghdad': 126.87878787878788,
  'Diyala': 12.435897435897436,
  'Dohuk': 4.425531914893617,
  'Erbil': 23.338983050847457,
  'Halabja': 7.315789473684211,
  'Karbala': 31.714285714285715,
  'Kirkuk': 48.2,
  'Maysan': 8.172413793103448,
  'Muthanna': 12.7,
  'Najaf': 11.533333333333333,
  'Nineveh': 41.932038834951456,
  'Not found': 15.660194174757281,
  'Saladin': 24.220588235294116,
  'Sulaymaniyah': 4.882352941176471,
  'Wasit': 6.928571428571429},
 'polriskevents-median': {'Al Anbar': 3.0,
  'Al-Qadisiyah': 1.0,
  'Babil': 1.0,
  'Baghdad': 2.0,
  'Diyala': 1.0,
  'Dohuk': 1.0,
  'Erbil': 1.0,
  'Halabja': 1.0,
  'Karbala': 3.0,
  'Kirkuk': 2.0,
  'Maysan': 0.0,
  'Muthanna': 2.0,
  'Najaf': 3.0,
  'Nineveh': 2.0,
  'Not found': 2.0,
  'Saladin': 1.5,
  'Sulaymaniyah': 1.0,
  'Wasit': 0.0},
 'polriskevents-min': {'Al Anbar': 0,
  'Al-Qadisiyah': 0,
  'Babil': 0,
  'Baghdad': 0,
  'Diyala': 0,
  'Dohuk': 0,
  'Erbil': 0,
  'Halabja': 0,
  'Karbala': 0,
  'Kirkuk': 0,
  'Maysan': 0,
  'Muthanna': 0,
  'Najaf': 0,
  'Nineveh': 0,
  'Not found': 0,
  'Saladin': 0,
  'Sulaymaniyah': 0,
  'Wasit': 0},
 'polriskevents-std': {'Al Anbar': 3157.2805493543206,
  'Al-Qadisiyah': 5.540175844420173,
  'Babil': 112.55668330689114,
  'Baghdad': 954.4235878694454,
  'Diyala': 66.62096502117768,
  'Dohuk': 15.549003436332816,
  'Erbil': 125.05869107239644,
  'Halabja': 19.48518705632263,
  'Karbala': 74.7389106282983,
  'Kirkuk': 218.71732662392628,
  'Maysan': 28.180627800871147,
  'Muthanna': 26.3999601275616,
  'Najaf': 30.856503520713577,
  'Nineveh': 117.75200444869188,
  'Not found': 103.51011633785198,
  'Saladin': 106.12873702974802,
  'Sulaymaniyah': 20.44763757388469,
  'Wasit': 23.063404668882583},
 'polriskevents-sum': {'Al Anbar': 22872,
  'Al-Qadisiyah': 100,
  'Babil': 1023,
  'Baghdad': 8374,
  'Diyala': 970,
  'Dohuk': 208,
  'Erbil': 1377,
  'Halabja': 139,
  'Karbala': 222,
  'Kirkuk': 1446,
  'Maysan': 237,
  'Muthanna': 254,
  'Najaf': 173,
  'Nineveh': 4319,
  'Not found': 1613,
  'Saladin': 1647,
  'Sulaymaniyah': 249,
  'Wasit': 194}}

In [ ]: