{ "cells": [ { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "import pandas as pd\n", "import seaborn as sns\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "df1=pd.read_csv('Dataset1_Syria Archive.csv',header=None,names=['URL','title','summary','date','time','location','weapon','collection','violation'])\n", "df2 = pd.read_csv('Dataset2_Violations Documentation Center in Syria.csv', header=None, names=['name', 'status', 'sex', 'province', 'area','date', 'cause of death','actors'])" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
URLtitlesummarydatetimelocationweaponcollectionviolationlocation_clean
0https://syrianarchive.org/en/database?after=20...Russian aircrafts commit a massacre in Kafar H...Russian aircrafts commit a massacre in Kafar H...2016-02-273:16:24ALEPPO : Kafr hamrahNaNCivilian casualties as a result of alleged rus...Unlawful attacksALEPPO
1https://syrianarchive.org/en/database?after=20...#Witness: 8 killed by Russian airstrikes on th...#Witness: 8 killed by Russian airstrikes on th...2016-02-276:03:25ALEPPO : Kafr hamrahNaNCivilian casualties as a result of alleged rus...Unlawful attacksALEPPO
\n", "
" ], "text/plain": [ " URL \\\n", "0 https://syrianarchive.org/en/database?after=20... \n", "1 https://syrianarchive.org/en/database?after=20... \n", "\n", " title \\\n", "0 Russian aircrafts commit a massacre in Kafar H... \n", "1 #Witness: 8 killed by Russian airstrikes on th... \n", "\n", " summary date time \\\n", "0 Russian aircrafts commit a massacre in Kafar H... 2016-02-27 3:16:24 \n", "1 #Witness: 8 killed by Russian airstrikes on th... 2016-02-27 6:03:25 \n", "\n", " location weapon \\\n", "0 ALEPPO : Kafr hamrah NaN \n", "1 ALEPPO : Kafr hamrah NaN \n", "\n", " collection violation \\\n", "0 Civilian casualties as a result of alleged rus... Unlawful attacks \n", "1 Civilian casualties as a result of alleged rus... Unlawful attacks \n", "\n", " location_clean \n", "0 ALEPPO \n", "1 ALEPPO " ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1[:2]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namestatussexprovinceareadatecause of deathactors
0Abdulla Riyad HammashNon-CivilianAdult - MaleIdlibJisr Shagour: Najieh2016-02-26ShootingNaN
1Muhannad Abo WiliamNon-CivilianAdult - MaleDamascus SuburbsDaraya2016-02-26ShootingNaN
\n", "
" ], "text/plain": [ " name status sex province \\\n", "0 Abdulla Riyad Hammash Non-Civilian Adult - Male Idlib \n", "1 Muhannad Abo Wiliam Non-Civilian Adult - Male Damascus Suburbs \n", "\n", " area date cause of death actors \n", "0 Jisr Shagour: Najieh 2016-02-26 Shooting NaN \n", "1 Daraya 2016-02-26 Shooting NaN " ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[:2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Part 1 Data Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clean and analyse locations in the first dataset from Syrian Archive" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "ALEPPO 1920\n", "IDLIB 219\n", "HAMA 103\n", "DAMASCUS 97\n", "nan 41\n", "HOMS 39\n", "DARAA 9\n", "LATTAKIA 2\n", "حلب 1\n", "Name: location_clean, dtype: int64" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def clean_location(r):\n", " return str(r).split(':')[0]\n", "df1['location_clean']=df1['location'].apply(clean_location)\n", "df1['location_clean'].apply(str).value_counts()" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [], "source": [ "#replace \"حلب\" with \"missing value\"\n", "df_media_location=pd.DataFrame({'location':['Aleppo','Idlib','Hama','Damascus','NaN','Homs','Daraa','Lattakia','missing value'],'number':[1920,219,103,97,41,39,9,2,1]})\n", "#calculate the distribution of locations\n", "total=0\n", "percentage=[]\n", "for i in df_media_location['number']:\n", " total=total+i\n", "for i in df_media_location['number']:\n", " percentage.append(i/total)\n", "df_media_location['percentage']=pd.Series(percentage)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clean and analyse death causes in the first dataset from Syrian Archive" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Civilian casualties as a result of alleged russian attacks 230\n", "Chemical weapons 139\n", "Attacks against hospitals 92\n", "Chemical Weapons 11\n", "Attacks against schools 9\n", "Attacks against hospitals, Chemical weapons 8\n", "Attacks against humanitarian relief personnel and objects 5\n", "Civilian casualties as a result of alleged russian attacks, Attacks against hospitals 3\n", "Attacks against hospitals, Attacks against humanitarian relief personnel and objects 2\n", "Attacks against bakeries 1\n", "Attacks against journalists 1\n", "Name: collection, dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "death_cause=df1['collection'].value_counts()\n", "death_cause" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "death_cause_media=pd.DataFrame({'cause':['Civilian casualties as a result of alleged russian attacks',\n", " 'Chemical weapons','Attacks against hospitals',\n", " 'Attacks against schools',\n", " 'Attacks against humanitarian relief personnel and objects',\n", " \"Attacks against bakeries\",\n", " \"Attacks against journalists\"],\n", " 'number':[233,158,105,9,7,1,1]})\n", "#calculate the distribution of locations\n", "total=0\n", "percentage=[]\n", "for i in death_cause_media['number']:\n", " total=total+i\n", "for i in death_cause_media['number']:\n", " percentage.append(i/total)\n", "death_cause_media['percentage']=pd.Series(percentage)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clean and analyse locations in the second dataset from Violation Documentation Center in Syria" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
locationnumberpercentage
0Aleppo79900.260660
1Damascus Suburbs63720.207875
2Idlib44340.144651
3Deir Ezzor29040.094738
4Homs23040.075164
5Daraa22310.072782
6Hama18560.060549
7Raqqa13270.043291
8Damascus6010.019607
9Other Nationalities1390.004535
10Quneitra1210.003947
11Hasakeh1050.003425
12Lattakia1030.003360
13Unknown830.002708
14Tartous480.001566
15Sweida350.001142
\n", "
" ], "text/plain": [ " location number percentage\n", "0 Aleppo 7990 0.260660\n", "1 Damascus Suburbs 6372 0.207875\n", "2 Idlib 4434 0.144651\n", "3 Deir Ezzor 2904 0.094738\n", "4 Homs 2304 0.075164\n", "5 Daraa 2231 0.072782\n", "6 Hama 1856 0.060549\n", "7 Raqqa 1327 0.043291\n", "8 Damascus 601 0.019607\n", "9 Other Nationalities 139 0.004535\n", "10 Quneitra 121 0.003947\n", "11 Hasakeh 105 0.003425\n", "12 Lattakia 103 0.003360\n", "13 Unknown 83 0.002708\n", "14 Tartous 48 0.001566\n", "15 Sweida 35 0.001142" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_fact_location=df2['province'].value_counts().to_frame()\n", "df_fact_location=df_fact_location.reset_index()\n", "df_fact_location.columns=['location','number']\n", "total=0\n", "percentage=[]\n", "for i in df_fact_location['number']:\n", " total=total+i\n", "for i in df_fact_location['number']:\n", " percentage.append(i/total)\n", "df_fact_location['percentage']=pd.Series(percentage)\n", "df_fact_location" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/p17417864/Desktop/venv/lib/python3.6/site-packages/ipykernel_launcher.py:2: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", " \n", "/Users/p17417864/Desktop/venv/lib/python3.6/site-packages/ipykernel_launcher.py:3: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", " This is separate from the ipykernel package so we can avoid doing imports until\n" ] } ], "source": [ "#As shown above, \"Damascus Suburbs\" can be merged into \"Damascus\".\n", "df_fact_location['number'][8]=df_fact_location['number'][8]+df_fact_location['number'][1]\n", "df_fact_location['percentage'][8]=df_fact_location['percentage'][8]+df_fact_location['percentage'][1]\n", "df_fact_location=df_fact_location.drop(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clean and analyse death causes in the second dataset from Violation Documentation Center in Syria" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Warplane shelling 12926\n", "Shooting 8348\n", "Shelling 4789\n", "Explosion 2353\n", "Field Execution 487\n", "Detention - Torture 465\n", "Kidnapping - Execution 387\n", "Unknown 257\n", "Chemical and toxic gases 226\n", "Other 120\n", "Detention - Execution 117\n", "Siege 93\n", "Un-allowed to seek Medical help 39\n", "Kidnapping - Torture 31\n", "Kidnapping - Torture - Execution 9\n", "Detention - Torture - Execution 6\n", "Name: cause of death, dtype: int64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2['cause of death'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Merge \"Detention - Torture\", \"Kidnapping - Execution\", \"Detention - Execution\", \"Kidnapping - Torture\", \"Kidnapping - Torture - Execution\" ,\"Detention - Torture - Execution\" into \"mixed\" " ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [], "source": [ "death_cause_fact=pd.DataFrame({'cause':['Warplane shelling', \n", " 'Shooting', \n", " 'Shelling', \n", " 'Explosion',\n", " 'Field Execution', \n", " 'Unknown', \n", " 'Chemical and toxic gases', \n", " 'Other', \n", " 'Siege',\n", " 'Un-allowed to seek Medical help',\n", " 'mixed'],\n", " 'number':[12926,8348,4789,2353,487,257,226,120,93,39,976]})" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [], "source": [ "total=0\n", "percentage=[]\n", "for i in death_cause_fact['number']:\n", " total=total+i\n", "for i in death_cause_fact['number']:\n", " percentage.append(i/total)\n", "death_cause_fact['percentage']=pd.Series(percentage)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyse casualties of civilian and non-civilian caused by different actors" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Syrian government and affiliated militias 15580\n", "Russian troops 3808\n", "The organization of the Islamic State in Iraq and the Levant - ISIS 3102\n", "Not identified 2696\n", "International coalition forces 2059\n", "Armed opposition groups 1634\n", "Self administration forces 582\n", "Al-Nusra Front 112\n", "Name: actors, dtype: int64" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emmm=df2['actors'].value_counts()\n", "emmm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apart from \"Not identified\", we chose to casualties of civilian and non-civilian caused by top 5 actors, namely \"Syrian government and affiliated militias\", \"Russian troops\", \"ISIS\", \"International coalition forces\", \"Armed opposition groups\"." ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Civilian 10324\n", "Non-Civilian 5256\n", "Name: status, dtype: int64" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[df2['actors']=='Syrian government and affiliated militias']['status'].value_counts()" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Civilian 3651\n", "Non-Civilian 157\n", "Name: status, dtype: int64" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[df2['actors']=='Russian troops']['status'].value_counts()" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Civilian 1950\n", "Non-Civilian 1152\n", "Name: status, dtype: int64" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[df2['actors']=='The organization of the Islamic State in Iraq and the Levant - ISIS']['status'].value_counts()" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Civilian 1905\n", "Non-Civilian 154\n", "Name: status, dtype: int64" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[df2['actors']=='International coalition forces']['status'].value_counts()" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Civilian 821\n", "Non-Civilian 813\n", "Name: status, dtype: int64" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[df2['actors']=='Armed opposition groups']['status'].value_counts()" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [], "source": [ "actors_status=pd.DataFrame({'actors':['Syrian government and affiliated militias', \n", " 'Syrian government and affiliated militias', \n", " 'Russian troops', \n", " 'Russian troops',\n", " 'ISIS', \n", " 'ISIS', \n", " 'International coalition forces', \n", " 'International coalition forces', \n", " 'Armed opposition groups',\n", " 'Armed opposition groups'],\n", " 'status':['Civilian','Non-Civilian',\n", " 'Civilian','Non-Civilian',\n", " 'Civilian','Non-Civilian',\n", " 'Civilian','Non-Civilian',\n", " 'Civilian','Non-Civilian'],\n", " 'number':[10324,5256,3651,157,1950,1152,1905,154,821,813]})" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "percentage=[]\n", "for i in range(5):\n", " percentage.append(actors_status['number'][2*i]/emmm.values[i])\n", " percentage.append(actors_status['number'][2*i+1]/emmm.values[i])\n", "actors_status['percentage']=pd.Series(percentage)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Part 2 Data Visualisation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparing location distribution in two datasets" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "df_fact_location=df_fact_location.sort_values(by='percentage',ascending=True)[7:15]" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 1)" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=plt.figure(figsize=(7,3.5))\n", "plt.barh(df_fact_location['location'].values,df_fact_location['percentage'].apply(float).values,\n", " color=['#cccccc','#cccccc','#cccccc','#cccccc','#b30000','#b30000','#b30000','#b30000'])\n", "plt.title('location distribution in the second dataset',fontsize=20)\n", "plt.xlim(range(2))\n", "plt.savefig('location_fact.png')" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0, 1)" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=plt.figure(figsize=(7,3.5))\n", "plt.barh(df_fact_location['location'].values,[0,0.042369,0.003702,0.016043,0,0.090086,0.039901,0.789798],\n", " color=['#cccccc','#b30000','#cccccc','#cccccc','#cccccc','#b30000','#b30000','#b30000'])\n", "plt.title('location distribution in the first dataset',fontsize=20)\n", "plt.xlim(range(2))\n", "plt.savefig('location_media.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use photoshop to refine the two graphs, then we get:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compare and Visualize death causes in two datasets" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
causenumberpercentage
0Warplane shelling129260.422225
1Shooting83480.272686
2Shelling47890.156432
3Explosion23530.076860
4Field Execution4870.015908
5Unknown2570.008395
6Chemical and toxic gases2260.007382
7Other1200.003920
8Siege930.003038
9Un-allowed to seek Medical help390.001274
10mixed9760.031881
\n", "
" ], "text/plain": [ " cause number percentage\n", "0 Warplane shelling 12926 0.422225\n", "1 Shooting 8348 0.272686\n", "2 Shelling 4789 0.156432\n", "3 Explosion 2353 0.076860\n", "4 Field Execution 487 0.015908\n", "5 Unknown 257 0.008395\n", "6 Chemical and toxic gases 226 0.007382\n", "7 Other 120 0.003920\n", "8 Siege 93 0.003038\n", "9 Un-allowed to seek Medical help 39 0.001274\n", "10 mixed 976 0.031881" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "death_cause_fact" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
causenumberpercentage
0Civilian casualties as a result of alleged rus...2330.453307
1Chemical weapons1580.307393
2Attacks against hospitals1050.204280
3Attacks against schools90.017510
4Attacks against humanitarian relief personnel ...70.013619
5Attacks against bakeries10.001946
6Attacks against journalists10.001946
\n", "
" ], "text/plain": [ " cause number percentage\n", "0 Civilian casualties as a result of alleged rus... 233 0.453307\n", "1 Chemical weapons 158 0.307393\n", "2 Attacks against hospitals 105 0.204280\n", "3 Attacks against schools 9 0.017510\n", "4 Attacks against humanitarian relief personnel ... 7 0.013619\n", "5 Attacks against bakeries 1 0.001946\n", "6 Attacks against journalists 1 0.001946" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "death_cause_media" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use R Language and Photopshop to visualize the results:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize casualties of civilian and non-civilian caused by different actors" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
actorsnumberstatuspercentage
0Syrian government and affiliated militias10324Civilian0.662644
1Syrian government and affiliated militias5256Non-Civilian0.337356
2Russian troops3651Civilian0.958771
3Russian troops157Non-Civilian0.041229
4ISIS1950Civilian0.628627
5ISIS1152Non-Civilian0.371373
6International coalition forces1905Civilian0.706602
7International coalition forces154Non-Civilian0.057122
8Armed opposition groups821Civilian0.398737
9Armed opposition groups813Non-Civilian0.394852
\n", "
" ], "text/plain": [ " actors number status percentage\n", "0 Syrian government and affiliated militias 10324 Civilian 0.662644\n", "1 Syrian government and affiliated militias 5256 Non-Civilian 0.337356\n", "2 Russian troops 3651 Civilian 0.958771\n", "3 Russian troops 157 Non-Civilian 0.041229\n", "4 ISIS 1950 Civilian 0.628627\n", "5 ISIS 1152 Non-Civilian 0.371373\n", "6 International coalition forces 1905 Civilian 0.706602\n", "7 International coalition forces 154 Non-Civilian 0.057122\n", "8 Armed opposition groups 821 Civilian 0.398737\n", "9 Armed opposition groups 813 Non-Civilian 0.394852" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "actors_status" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ],\n", " )" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig=plt.figure(figsize=(7,5))\n", "d=np.arange(5)\n", "y1=actors_status['percentage'][d*2]\n", "plt.bar(d,y1,label='Civilian',color='#b30000')\n", "plt.bar(d,actors_status['percentage'][d*2+1],bottom=y1,label='Non Civilian',color='#b3b3b3')\n", "plt.xticks(range(6),actors_status['actors'][d*2])\n", "plt.savefig('russia_citizen.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use photoshop to refine the graph, then we get:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize the location distribution of casualties caused by Russian troops" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Aleppo 1554\n", "Idlib 754\n", "Deir Ezzor 639\n", "Hama 343\n", "Damascus Suburbs 258\n", "Homs 129\n", "Raqqa 91\n", "Daraa 30\n", "Damascus 8\n", "Lattakia 2\n", "Name: province, dtype: int64" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2[df2['actors']=='Russian troops']['province'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use photoshop to visualize the results, then we get:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other aspects mentioned in the story" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Unlawful attacks 220\n", "Use of illegal weapons 10\n", "Name: violation, dtype: int64" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1[df1['collection']=='Civilian casualties as a result of alleged russian attacks']['violation'].value_counts()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }