├── .gitignore ├── LICENSE ├── README.md └── articles ├── tuberculosis-evolution-visual ├── tb_existing_100.csv ├── tuberculosis-evolution-visual.html ├── tuberculosis-evolution-visual.ipynb └── tuberculosis_heatmap.html ├── tuberculosis-world-situation ├── README.md ├── tb-world-situation.ipynb ├── tb-world-situation_files │ ├── tb-world-situation_12_1.png │ ├── tb-world-situation_14_1.png │ └── tb-world-situation_8_0.png └── tb_existing_100.csv └── wine-market ├── wine-market-no-mpld3.ipynb ├── wine-market.ipynb └── wines.html /.gitignore: -------------------------------------------------------------------------------- 1 | ipython_notebook_spark.out 2 | *.gz 3 | **/.ipynb_checkpoints/ 4 | .ipynb_checkpoints/ 5 | **/metastore_db/ 6 | **/derby.log 7 | **/apikey 8 | notebooks/wine-market/*.json 9 | 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This repository contains a variety of content; some developed by Jose A. Dianes, and some from third-parties. The third-party content is distributed under the license provided by those parties. 2 | 3 | The content developed by Jose A. Dianes is distributed under the following license: 4 | 5 | Copyright 2016 Jose A Dianes 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); 8 | you may not use this file except in compliance with the License. 9 | You may obtain a copy of the License at 10 | 11 | http://www.apache.org/licenses/LICENSE-2.0 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Data Journalism 2 | 3 | If you are a [Data Journalist]((https://en.wikipedia.org/wiki/Data_journalism)) looking to improve your **coding skills**, or you work as a developer giving support in a **newsroom**, you arrived to the right place. 4 | 5 | This is a repository of articles and tutorials, as [IPython/Jupyter](https://jupyter.org) notebooks or web products, about doing data journalism. The articles presented here, apart from analysing data to present some facts about the current, past, and sometimes future world situation, will show **programming instructions** explaining how to repeat the analysis by yourself. We live in a world where governments and the media, more often than not, serve the interests of a few. Our belief is that to empower people to do their own analysis and arrive to conclusions based on facts (data), is a way to make us all more aware and strong as a society. 6 | 7 | The programming instructions will be given as web [Notebooks](https://en.wikipedia.org/wiki/IPython#Notebook) for the programming language or technology used (e.g. Python, R) or sometimes as a web code that yoy can inspect on the repo. This is an ideal way of sharing code combined with textual explanations, charts, images, etc. However, we will tend to favour the Pyhton language. But why Python? Well, we will sometimes use other technologies (mainly R but also JavaScript or Spark) but we think that Python has some characteristics that makes it a good environment for Data Journalism: 8 | 9 | - It is a modern programming language, very clean and expressive, that promotes simplicity and elegance. 10 | - It can be used to write scripts (as we will use it most of the time) and also to build complex software systems. 11 | - There are lots of extensions (i.e. libraries) to perform all sorts of tasks, not just data analysis and visualisation ones, but also [web scraping](https://en.wikipedia.org/wiki/Web_scraping), [web development](https://en.wikipedia.org/wiki/Web_development), [natural language processing](https://en.wikipedia.org/wiki/Natural_language_processing), etc. 12 | - You can share your code as notebooks! 13 | 14 | So our hope is that while finding our articles analysis and conclusions interesting, you will also learn how to repeat and extend them yourself and arrive to aditional conclusions. 15 | 16 | ## About me 17 | 18 | My name is [Jose A. Dianes](http://jadianes.com/) and I am a data analyst and developer. During years I have been involved in all sorts of software projects including real-time systems, web enterprise systems, and bioinformatics. Eventually I arrived to data analysis and products, where I solve scalability problems and deliver producst that provide actionable knowledge. 19 | 20 | You can contact me easily at [my personal website](http://jadianes.com/about/). 21 | 22 | ## Articles 23 | 24 | #### [Tuberculosis world situation](https://github.com/jadianes/data-journalism-python/tree/master/articles/tuberculosis-world-situation) 25 | 26 | Where we analyse the situation of infectious tuberculosis from 1990 to 2007 using WHO datasets. 27 | 28 | #### [A visual on the evolution of Tuberculosis](https://github.com/jadianes/data-journalism-python/tree/master/articles/tuberculosis-evolution-visual/tuberculosis-evolution-visual.ipynb) 29 | 30 | Where we use Bokeh to represent the same dataset with a simple heatmap and look for visual clues. 31 | 32 | #### [Wine market analysis](https://github.com/jadianes/data-journalism-python/tree/master/articles/wine-market/wine-market.ipynb) 33 | 34 | Where we show how to use a RESTful like API to get JSON data using [`Requests`](http://www.python-requests.org/en/latest/), save JSON data into a file, doing Exploratory Data Analysis using [`Pandas`](http://pandas.pydata.org/), and generating a data visualisation using [`Seaborn`](http://stanford.edu/~mwaskom/software/seaborn/) and [`mpld3`](http://mpld3.github.io/). All this in order to explore [**Wine.com**](http://www.wine.com/) catalog and get an impression of what the wine market looks like for them. 35 | 36 | ## Contributing 37 | 38 | Contributions are welcome! For bug reports or requests please [submit an issue](https://github.com/jadianes/data-journalism-python/issues). 39 | 40 | ## Contact 41 | 42 | Feel free to contact me to discuss any issues, questions, or comments. 43 | 44 | * Twitter: [@ja_dianes](https://twitter.com/ja_dianes) 45 | * GitHub: [jadianes](https://github.com/jadianes) 46 | * LinkedIn: [jadianes](https://www.linkedin.com/in/jadianes) 47 | * Website: [jadianes.me](http://jadianes.me) 48 | 49 | ## License 50 | 51 | This repository contains a variety of content; some developed by Jose A. Dianes, and some from third-parties. The third-party content is distributed under the license provided by those parties. 52 | 53 | The content developed by Jose A. Dianes is distributed under the following license: 54 | 55 | Copyright 2016 Jose A Dianes 56 | 57 | Licensed under the Apache License, Version 2.0 (the "License"); 58 | you may not use this file except in compliance with the License. 59 | You may obtain a copy of the License at 60 | 61 | http://www.apache.org/licenses/LICENSE-2.0 62 | 63 | Unless required by applicable law or agreed to in writing, software 64 | distributed under the License is distributed on an "AS IS" BASIS, 65 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 66 | See the License for the specific language governing permissions and 67 | limitations under the License. 68 | -------------------------------------------------------------------------------- /articles/tuberculosis-evolution-visual/tb_existing_100.csv: -------------------------------------------------------------------------------- 1 | "TB prevalence, all forms (per 100 000 population per year)",1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 2 | Afghanistan,436,429,422,415,407,397,397,387,374,373,346,326,304,308,283,267,251,238 3 | Albania,42,40,41,42,42,43,42,44,43,42,40,34,32,32,29,29,26,22 4 | Algeria,45,44,44,43,43,42,43,44,45,46,48,49,50,51,52,53,55,56 5 | American Samoa,42,14,4,18,17,22,0,25,12,8,8,6,5,6,9,11,9,5 6 | Andorra,39,37,35,33,32,30,28,23,24,22,20,20,21,18,19,18,17,19 7 | Angola,514,514,513,512,510,508,512,363,414,384,530,335,307,281,318,331,302,294 8 | Anguilla,38,38,37,37,36,35,35,36,36,36,35,35,35,35,35,34,34,34 9 | Antigua and Barbuda,16,15,15,14,13,12,12,11,11,9,8,9,7,9,8,8,9,9 10 | Argentina,96,91,86,82,78,74,71,67,63,58,52,51,42,41,39,39,37,35 11 | Armenia,52,49,51,55,60,68,74,75,74,86,94,99,97,91,85,79,79,81 12 | Australia,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6 13 | Austria,18,17,16,15,15,14,13,13,12,12,11,11,11,10,10,10,10,10 14 | Azerbaijan,58,55,57,61,67,76,85,91,100,106,113,117,99,109,90,85,86,86 15 | Bahamas,54,53,52,52,53,54,54,54,55,46,45,45,51,51,50,50,50,51 16 | Bahrain,120,113,108,101,97,92,89,86,83,67,57,56,55,53,48,45,45,60 17 | Bangladesh,639,623,608,594,579,576,550,535,516,492,500,491,478,458,444,416,392,387 18 | Barbados,8,8,7,7,6,6,6,6,5,5,5,4,4,4,4,4,3,3 19 | Belarus,62,54,59,62,75,82,91,98,109,113,110,100,89,68,68,68,69,69 20 | Belgium,16,15,15,15,15,14,13,13,12,12,12,13,12,11,11,11,10,9 21 | Belize,65,64,62,59,57,55,37,41,53,53,39,36,36,40,42,38,41,46 22 | Benin,140,138,135,132,129,125,127,129,130,128,128,129,137,139,134,135,134,135 23 | Bermuda,10,10,9,9,8,8,8,8,7,7,7,6,6,6,6,6,6,6 24 | Bhutan,924,862,804,750,699,651,620,597,551,538,515,512,472,460,443,412,406,363 25 | Bolivia,377,362,347,333,320,306,271,264,254,248,238,229,223,218,211,205,202,198 26 | Bosnia and Herzegovina,160,156,154,150,143,134,131,125,96,80,70,63,66,63,55,58,58,55 27 | Botswana,344,355,351,349,347,349,336,349,371,413,445,497,535,586,598,599,621,622 28 | Brazil,124,119,114,109,104,100,97,93,88,86,83,80,77,72,63,60,56,60 29 | British Virgin Islands,32,30,28,26,25,23,22,21,20,19,19,18,18,17,16,17,16,16 30 | Brunei Darussalam,91,91,91,91,91,91,91,88,88,93,108,85,78,73,63,55,59,65 31 | Bulgaria,43,48,54,57,58,57,59,65,68,68,64,63,52,42,40,41,40,41 32 | Burkina Faso,179,196,208,221,233,246,251,271,286,308,338,368,398,419,426,421,411,403 33 | Burundi,288,302,292,293,305,322,339,346,424,412,455,522,581,619,639,654,657,647 34 | Cambodia,928,905,881,858,836,811,810,789,777,764,758,750,728,712,696,676,672,664 35 | Cameroon,188,199,200,199,197,197,196,207,212,219,228,241,240,227,228,213,201,195 36 | Canada,7,7,7,6,6,6,5,5,5,5,5,4,4,4,4,4,4,4 37 | Cape Verde,449,438,428,418,408,398,394,391,387,384,380,283,374,370,367,278,285,280 38 | Cayman Islands,10,10,9,9,8,8,8,8,7,7,7,5,6,6,5,5,6,5 39 | Central African Republic,318,336,342,350,356,365,270,395,419,449,485,495,468,566,574,507,437,425 40 | Chad,251,272,282,294,304,315,354,408,433,390,420,450,502,573,548,518,505,497 41 | Chile,45,41,38,35,32,30,28,25,24,22,21,19,19,18,15,15,13,12 42 | China,327,321,315,309,303,303,290,283,276,273,269,265,259,241,220,206,200,194 43 | Colombia,88,85,82,79,76,73,71,69,67,61,51,62,60,58,55,53,44,43 44 | Comoros,188,177,167,157,148,140,130,155,120,143,112,103,104,107,99,91,86,83 45 | "Congo, Rep.",209,222,231,243,255,269,424,457,367,545,313,354,402,509,477,482,511,485 46 | Cook Islands,0,10,57,47,38,19,10,13,0,40,12,29,11,0,15,9,16,31 47 | Costa Rica,30,28,27,26,25,24,23,22,21,19,14,14,15,14,12,12,12,11 48 | Croatia,126,123,121,118,113,106,103,102,99,89,76,73,69,68,67,65,65,54 49 | Cuba,32,29,26,24,22,20,18,17,15,14,13,12,11,10,9,8,8,7 50 | Cyprus,14,13,13,12,11,11,11,10,7,7,9,8,7,6,6,6,6,6 51 | Czech Republic,22,22,22,21,21,21,21,21,19,18,16,14,13,12,11,11,10,9 52 | Cote d'Ivoire,292,304,306,309,312,319,329,350,376,413,472,571,561,590,604,613,597,582 53 | "Korea, Dem. Rep.",841,828,815,802,788,775,775,775,775,770,713,650,577,527,499,508,500,441 54 | "Congo, Dem. Rep.",275,306,327,352,376,411,420,466,472,528,592,643,697,708,710,702,692,666 55 | Denmark,12,12,11,10,10,9,9,8,8,8,7,7,7,7,7,6,7,6 56 | Djibouti,"1,485","1,477","1,463","1,442","1,414","1,381",720,669,698,701,761,775,932,960,"1,034","1,046","1,093","1,104" 57 | Dominica,24,24,24,23,23,22,22,18,20,20,20,22,20,20,20,21,13,19 58 | Dominican Republic,183,173,164,156,148,141,135,132,128,122,119,115,102,93,90,85,84,82 59 | Ecuador,282,271,259,249,238,228,221,212,207,200,194,185,170,162,155,155,148,140 60 | Egypt,48,47,47,45,45,44,51,46,43,40,36,34,32,31,29,28,27,27 61 | El Salvador,133,126,119,112,105,99,97,80,76,72,69,66,62,60,57,52,50,48 62 | Equatorial Guinea,169,181,187,194,200,207,216,222,236,253,274,441,470,490,370,366,358,469 63 | Eritrea,245,245,242,239,235,232,232,225,203,114,114,111,118,110,122,127,133,134 64 | Estonia,50,50,56,66,77,85,88,98,102,105,72,68,62,56,50,46,44,39 65 | Ethiopia,312,337,351,366,383,403,396,397,420,464,486,539,569,601,613,612,604,579 66 | Fiji,68,65,62,58,55,53,49,49,46,40,42,35,36,29,33,31,30,30 67 | Finland,14,12,11,10,9,10,10,10,9,9,8,7,7,6,6,5,5,5 68 | France,21,20,19,18,17,16,15,15,14,14,13,12,12,12,12,11,11,11 69 | French Polynesia,67,55,91,83,93,107,55,48,56,54,40,42,32,29,28,31,31,32 70 | Gabon,359,340,325,318,316,293,312,320,359,366,434,249,302,299,288,332,358,379 71 | Gambia,350,350,349,347,344,341,324,321,311,485,491,499,335,343,341,366,399,404 72 | Georgia,51,48,50,54,59,66,73,104,87,90,98,95,95,94,90,86,83,83 73 | Germany,15,15,14,14,13,13,12,11,11,10,9,8,7,6,6,6,5,5 74 | Ghana,533,519,502,480,455,432,426,388,384,382,368,358,359,358,359,357,355,353 75 | Greece,30,29,27,25,24,23,22,22,21,20,19,18,18,17,17,16,16,16 76 | Grenada,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6 77 | Guam,103,101,96,110,146,93,91,89,87,86,44,45,44,47,41,42,39,36 78 | Guatemala,113,111,108,106,103,100,95,94,93,92,90,91,89,89,86,85,84,87 79 | Guinea,241,248,255,262,269,275,277,293,305,317,332,346,363,380,391,425,426,448 80 | Guinea-Bissau,404,403,402,399,395,390,390,387,385,386,273,276,305,296,287,283,270,276 81 | Guyana,39,43,34,43,50,67,78,81,90,93,98,112,126,136,130,132,133,136 82 | Haiti,479,464,453,443,435,429,428,426,417,407,403,397,388,380,377,368,368,366 83 | Honduras,141,133,128,123,119,115,114,112,106,98,70,70,72,71,72,71,70,71 84 | Hungary,67,68,70,72,73,73,74,72,67,47,43,39,36,33,29,26,22,19 85 | Iceland,5,4,4,4,4,4,3,3,3,3,3,3,2,2,2,3,3,3 86 | India,586,577,566,555,542,525,517,501,487,476,443,411,389,349,311,299,290,283 87 | Indonesia,443,430,417,404,392,380,369,359,348,335,326,314,297,287,274,261,251,244 88 | Iran,50,51,56,54,55,55,61,52,45,41,40,38,37,35,32,31,29,27 89 | Iraq,88,88,88,88,88,88,84,84,82,80,71,69,65,67,71,75,78,79 90 | Ireland,19,18,18,17,15,14,12,12,12,12,12,11,10,10,10,10,10,11 91 | Israel,11,10,10,9,9,8,8,8,8,7,7,7,6,6,6,6,6,6 92 | Italy,11,10,10,9,9,8,9,8,7,7,7,7,7,6,6,6,6,6 93 | Jamaica,10,10,10,10,9,9,7,7,7,7,7,7,7,7,7,7,7,7 94 | Japan,62,60,58,56,53,51,50,50,49,48,45,41,39,36,34,32,30,28 95 | Jordan,19,18,17,17,16,15,20,18,12,11,11,9,9,9,9,8,9,9 96 | Kazakhstan,95,87,85,84,85,94,109,137,163,134,141,148,150,155,152,147,144,139 97 | Kenya,125,120,134,152,177,207,233,277,313,351,393,384,392,402,410,388,340,319 98 | Kiribati,"1,026","1,006",986,966,947,928,910,853,571,556,546,607,587,477,439,419,405,423 99 | Kuwait,89,84,80,75,72,68,66,64,61,35,33,33,30,29,29,30,25,25 100 | Kyrgyzstan,90,93,93,93,101,118,141,165,147,146,156,169,153,145,139,136,135,134 101 | Laos,428,424,420,415,411,407,373,360,352,344,344,337,330,324,313,298,291,289 102 | Latvia,56,57,59,63,75,91,77,89,92,95,91,89,85,78,72,66,61,55 103 | Lebanon,64,64,63,62,62,59,64,54,50,37,35,30,26,24,22,21,23,23 104 | Lesotho,225,231,229,228,232,242,248,264,298,518,356,370,399,408,414,421,408,568 105 | Liberia,476,473,469,465,462,461,418,424,396,403,435,437,382,429,370,416,393,398 106 | Libyan Arab Jamahiriya,46,45,45,43,43,42,41,38,36,23,22,22,21,20,19,18,18,17 107 | Lithuania,64,66,71,79,89,98,110,119,125,120,115,96,83,72,72,66,65,69 108 | Luxembourg,19,18,17,16,15,14,14,13,13,12,11,11,11,10,10,10,10,9 109 | Madagascar,367,368,369,369,370,370,339,345,346,352,359,371,382,375,384,408,400,417 110 | Malawi,380,376,365,355,353,348,337,342,345,349,362,350,358,353,346,342,324,305 111 | Malaysia,159,158,156,155,153,151,147,173,170,167,135,133,132,128,128,126,123,121 112 | Maldives,143,130,118,107,97,88,88,101,89,94,96,84,83,69,71,63,69,48 113 | Mali,640,631,621,609,597,583,573,566,565,567,571,573,572,578,584,589,593,599 114 | Malta,10,9,9,8,8,7,7,7,7,6,6,6,5,5,5,5,5,5 115 | Mauritania,585,587,590,592,594,595,622,615,612,615,619,624,632,642,494,565,556,559 116 | Mauritius,53,51,50,48,47,45,62,61,45,40,39,42,40,39,38,39,39,39 117 | Mexico,101,93,86,80,74,68,64,58,52,48,42,38,35,33,31,27,25,23 118 | "Micronesia, Fed. Sts.",263,253,244,234,225,217,204,287,276,265,173,171,152,142,128,124,112,100 119 | Monaco,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2 120 | Mongolia,477,477,477,477,477,477,333,342,307,281,297,273,258,258,233,232,217,234 121 | Montserrat,14,14,14,14,14,13,13,13,13,13,13,13,13,10,13,10,12,8 122 | Morocco,134,130,127,123,119,116,107,106,105,99,98,95,87,91,89,85,82,80 123 | Mozambique,287,313,328,343,356,369,386,408,432,461,499,535,556,569,567,551,528,504 124 | Myanmar,411,400,389,379,370,361,298,309,312,298,267,238,202,175,168,161,161,162 125 | Namibia,650,685,687,683,671,658,387,395,411,442,481,506,544,560,572,570,556,532 126 | Nauru,170,285,280,274,90,263,258,253,248,44,44,56,57,48,162,121,174,33 127 | Nepal,629,607,585,564,543,523,498,473,448,363,312,304,285,271,260,247,246,240 128 | Netherlands,11,10,10,9,9,8,8,8,8,7,7,7,6,6,6,6,6,6 129 | Netherlands Antilles,28,27,25,24,23,22,21,20,19,18,17,17,17,16,16,15,15,15 130 | New Caledonia,112,107,104,76,69,60,58,97,97,51,51,43,34,28,29,29,25,25 131 | New Zealand,10,10,9,9,10,11,10,10,11,11,11,10,10,10,10,9,8,7 132 | Nicaragua,145,137,129,122,114,108,100,97,93,89,85,80,79,73,69,68,64,56 133 | Niger,317,318,319,319,319,318,322,292,281,281,278,280,288,275,287,285,289,292 134 | Nigeria,282,307,321,336,350,366,379,399,423,452,489,526,563,575,573,563,543,521 135 | Niue,118,115,113,111,109,106,202,0,0,114,0,0,506,0,0,0,0,0 136 | Northern Mariana Islands,142,201,301,194,186,185,188,331,334,220,135,120,95,83,80,83,83,72 137 | Norway,8,8,8,7,7,6,6,6,6,5,5,5,5,5,4,4,4,4 138 | Oman,40,36,29,25,22,22,15,15,14,14,13,14,13,13,12,13,13,14 139 | Pakistan,430,428,427,426,424,422,421,421,415,420,413,406,376,355,333,289,260,223 140 | Palau,96,66,43,260,414,187,53,92,54,376,104,102,69,64,31,102,74,71 141 | Panama,74,73,71,70,69,68,67,67,65,64,60,51,48,49,44,44,44,45 142 | Papua New Guinea,498,498,497,497,496,496,494,493,491,489,486,482,477,471,463,453,441,430 143 | Paraguay,95,93,92,91,89,88,71,92,92,91,90,89,88,85,85,81,74,73 144 | Peru,394,368,343,320,298,278,270,251,230,222,210,198,187,182,167,155,143,136 145 | Philippines,799,783,766,750,735,719,705,689,669,649,600,578,561,542,534,520,505,500 146 | Poland,88,87,86,85,83,79,74,68,63,58,53,50,35,34,33,31,29,28 147 | Portugal,51,49,47,45,44,43,42,41,39,38,36,34,33,32,29,27,24,23 148 | Puerto Rico,17,15,17,18,18,18,15,13,12,10,9,8,7,6,6,6,6,5 149 | Qatar,71,69,69,74,84,89,87,84,75,78,78,78,75,71,71,69,77,81 150 | "Korea, Rep.",223,196,174,150,142,132,105,98,89,107,113,112,126,108,112,118,122,126 151 | Moldova,105,99,103,111,122,138,157,171,191,203,215,174,211,176,152,151,151,151 152 | Romania,118,125,134,147,159,167,174,184,129,194,197,206,180,185,178,148,138,128 153 | Russian Federation,69,64,70,78,91,111,132,142,155,160,164,158,148,140,135,121,117,115 154 | Rwanda,190,211,226,243,259,278,297,316,339,383,442,503,549,581,607,607,595,590 155 | Saint Kitts and Nevis,17,17,16,16,16,15,16,15,11,12,15,13,12,14,13,15,14,12 156 | Saint Lucia,26,26,25,25,25,24,23,17,16,18,20,18,17,19,18,18,18,18 157 | Saint Vincent and the Grenadines,45,45,44,43,42,42,42,41,38,41,35,36,36,34,36,36,34,39 158 | Samoa,36,35,34,33,32,31,35,33,50,31,27,33,28,28,24,27,26,25 159 | San Marino,9,9,8,8,7,7,7,7,7,6,6,6,6,5,5,5,5,5 160 | Sao Tome and Principe,346,335,325,315,304,295,290,285,290,276,272,266,261,266,255,256,252,240 161 | Saudi Arabia,68,60,59,60,64,67,71,73,76,72,67,65,62,60,60,60,62,65 162 | Senegal,380,379,379,378,377,376,372,388,397,424,420,430,443,441,454,456,461,468 163 | Seychelles,113,110,106,103,100,96,66,59,71,90,52,53,42,66,52,57,56,55 164 | Sierra Leone,465,479,492,504,517,534,525,565,602,636,675,696,743,784,830,866,902,941 165 | Singapore,52,52,53,50,49,49,50,50,48,44,39,36,34,32,31,28,27,27 166 | Slovakia,55,56,59,59,56,51,46,42,38,35,32,30,29,26,25,21,20,20 167 | Slovenia,66,62,59,57,53,50,35,35,32,29,27,25,22,21,19,16,16,15 168 | Solomon Islands,625,593,563,534,506,480,380,354,339,322,300,286,277,254,229,204,197,180 169 | Somalia,597,587,577,566,555,543,465,444,446,431,414,398,391,362,334,325,341,352 170 | South Africa,769,726,676,620,562,502,480,466,465,426,515,581,586,649,676,707,690,692 171 | Spain,44,42,40,37,35,34,33,30,30,28,27,26,26,25,24,24,24,23 172 | Sri Lanka,109,106,104,102,99,97,102,93,90,89,107,99,88,89,87,75,80,79 173 | Sudan,409,404,402,402,403,405,409,417,378,382,375,389,363,371,376,384,391,402 174 | Suriname,109,100,79,80,76,78,88,101,118,122,115,113,113,120,126,136,146,155 175 | Swaziland,629,590,527,477,448,441,460,504,556,647,740,832,693,739,776,788,801,812 176 | Sweden,5,5,6,6,5,5,5,4,4,4,4,4,4,4,4,4,4,5 177 | Switzerland,14,13,12,11,10,10,9,8,8,8,7,6,6,6,6,5,5,5 178 | Syrian Arab Republic,94,89,84,80,75,71,67,61,54,48,41,37,35,33,31,30,29,27 179 | Tajikistan,193,162,112,79,85,106,134,141,159,169,191,221,248,256,277,282,301,322 180 | Thailand,336,319,307,297,291,285,285,279,256,231,223,194,197,189,188,184,189,192 181 | "Macedonia, FYR",92,90,89,86,83,77,74,73,72,65,56,39,40,37,34,34,34,33 182 | Timor-Leste,706,694,681,669,656,644,644,644,644,644,644,644,345,359,367,370,385,378 183 | Togo,702,687,668,647,628,614,613,658,637,647,656,669,701,693,702,713,726,750 184 | Tokelau,139,140,143,112,0,301,0,112,112,0,0,0,112,0,112,0,0,0 185 | Tonga,45,44,43,43,42,41,38,38,31,34,34,42,35,36,39,32,34,28 186 | Trinidad and Tobago,17,17,17,16,16,16,16,16,15,15,15,16,15,15,15,15,15,15 187 | Tunisia,49,46,49,51,51,49,48,46,44,31,30,28,27,26,27,27,28,28 188 | Turkey,83,79,77,73,68,62,62,63,64,57,49,45,44,43,44,44,32,34 189 | Turkmenistan,105,99,101,97,92,80,92,114,137,142,130,115,110,103,98,91,85,75 190 | Turks and Caicos Islands,42,40,37,35,33,31,30,29,28,17,16,23,23,22,22,22,18,17 191 | Tuvalu,593,573,554,535,518,500,484,467,452,437,422,408,394,381,368,245,261,203 192 | Uganda,206,313,342,377,394,418,419,342,357,359,391,411,447,476,472,469,450,426 193 | Ukraine,67,64,67,72,75,78,87,93,104,109,120,128,133,135,132,113,99,102 194 | United Arab Emirates,47,44,42,39,38,36,34,33,31,30,27,27,27,25,25,24,24,24 195 | United Kingdom,9,9,10,10,9,9,9,9,9,9,9,9,9,10,10,11,11,12 196 | Tanzania,215,228,240,252,269,283,301,324,333,347,364,367,383,380,373,364,353,337 197 | Virgin Islands (U.S.),30,28,27,25,24,23,19,18,17,19,19,18,18,17,17,16,16,16 198 | United States of America,7,7,7,7,6,6,6,5,5,4,4,4,4,4,3,3,3,3 199 | Uruguay,35,34,33,32,31,30,28,27,28,28,27,25,27,25,23,24,25,23 200 | Uzbekistan,114,105,102,118,116,119,111,122,129,134,139,148,144,152,149,144,134,140 201 | Vanuatu,278,268,259,250,242,234,226,218,211,159,143,128,149,128,118,131,104,102 202 | Venezuela,46,45,44,43,42,42,41,41,40,39,39,41,41,39,38,38,38,39 203 | Viet Nam,365,361,358,354,350,346,312,273,261,253,248,243,235,234,226,227,222,220 204 | Wallis et Futuna,126,352,64,174,172,93,123,213,107,105,103,13,275,147,63,57,60,25 205 | West Bank and Gaza,55,54,54,52,52,50,49,46,44,42,40,39,37,36,35,33,32,31 206 | Yemen,265,261,263,253,250,244,233,207,194,175,164,154,149,146,138,137,135,130 207 | Zambia,436,456,494,526,556,585,602,626,634,657,658,680,517,478,468,453,422,387 208 | Zimbabwe,409,417,415,419,426,439,453,481,392,430,479,523,571,632,652,680,699,714 -------------------------------------------------------------------------------- /articles/tuberculosis-world-situation/README.md: -------------------------------------------------------------------------------- 1 | 2 | # World differences in infectious tuberculosis prevalence 3 | 4 | > [From Wikipedia, the free 5 | encyclopedia](https://en.wikipedia.org/wiki/Tuberculosis) 6 | 7 | > Tuberculosis, MTB, or TB (short for tubercle bacillus), in the past also 8 | called phthisis, phthisis pulmonalis, or consumption, is a widespread, and in 9 | many cases fatal, infectious disease caused by various strains of mycobacteria, 10 | usually Mycobacterium tuberculosis. Tuberculosis typically attacks the lungs, 11 | but can also affect other parts of the body. It is spread through the air when 12 | people who have an active TB infection cough, sneeze, or otherwise transmit 13 | respiratory fluids through the air. Most infections do not have symptoms, known 14 | as latent tuberculosis. About one in ten latent infections eventually progresses 15 | to active disease which, if left untreated, kills more than 50% of those so 16 | infected. 17 | 18 | 19 | In this first approach to the world situation regarding infectious tuberculosis 20 | we want to have a look at how different countries have been affected by the 21 | disease in the period from 1990 to 2007. By doing so we want to better 22 | understand different trends in the prevalence of this important disease. Which 23 | countries are getting better and worse? Are there more or less clear groups of 24 | countries based on how much are the affected and how their situation is 25 | changeing? 26 | 27 | This should be enough for a first approach that opens the door to future works 28 | in finding the reasons for this situation and how the different approaches to 29 | fight the disease have been doing. 30 | 31 | The [Gapminder website](http://www.gapminder.org/) presents itself as *a fact- 32 | based worldview*. It is a comprehensive resource for data regarding different 33 | countries and territories indicators. For this article, we will use a dataset 34 | related to [estimated prevalence (existing cases) per 100K](https://docs.google. 35 | com/spreadsheets/d/1X5Jp7Q8pTs3KLJ5JBWKhncVACGsg5v4xu6badNs4C7I/pub?gid=0) 36 | coming from the World Health Organization (WHO). We invite the reader to repeat 37 | the process with the new cases and deaths datasets and share the results. Our 38 | data contains up to 207 countries. The first few of them looks as follows: 39 | 40 | 41 | import urllib 42 | 43 | tb_existing_url_csv = 'https://docs.google.com/spreadsheets/d/1X5Jp7Q8pTs3KLJ5JBWKhncVACGsg5v4xu6badNs4C7I/pub?gid=0&output=csv' 44 | local_tb_existing_file = 'tb_existing_100.csv' 45 | existing_f = urllib.urlretrieve(tb_existing_url_csv, local_tb_existing_file) 46 | 47 | import pandas as pd 48 | 49 | existing_df = pd.read_csv(local_tb_existing_file, index_col = 0, thousands = ',') 50 | existing_df.index.names = ['country'] 51 | existing_df.columns.names = ['year'] 52 | 53 | existing_df.head() 54 | 55 | 56 | 57 | 58 |
59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 |
year199019911992199319941995199619971998199920002001200220032004200520062007
country
Afghanistan 436 429 422 415 407 397 397 387 374 373 346 326 304 308 283 267 251 238
Albania 42 40 41 42 42 43 42 44 43 42 40 34 32 32 29 29 26 22
Algeria 45 44 44 43 43 42 43 44 45 46 48 49 50 51 52 53 55 56
American Samoa 42 14 4 18 17 22 0 25 12 8 8 6 5 6 9 11 9 5
Andorra 39 37 35 33 32 30 28 23 24 22 20 20 21 18 19 18 17 19
212 |
213 | 214 | 215 | 216 | The reader can check the [complete datasets](https://docs.google.com/spreadsheet 217 | s/d/1X5Jp7Q8pTs3KLJ5JBWKhncVACGsg5v4xu6badNs4C7I/pub?gid=0) from the Gapminder 218 | website. 219 | 220 | ## A visual to the world distribution of existing cases 221 | 222 | Data tables are accurate and complete. However they are not always the best way 223 | to process information, specially in our case where we want to understand how 224 | each country relates to others. The following chart is a two dimensional 225 | representation of the same data, that originally has 18 different dimensions, 226 | one for each year. In the vertical axis we represent the first dimension of 227 | variation within countries, that in this case is related with where the country 228 | relates to others regarding the number of cases as an static magnitude (e.g. the 229 | sum across the years). Those countries at the top of the chart are countries 230 | less affected by the disease. 231 | 232 | In the horizontal axis we have coded how the number of existing cases has 233 | changed from 1990 to 2007. Countries in the left hand side of the chart have 234 | increased the number of cases in that period of time. 235 | 236 | 237 | from sklearn.decomposition import PCA 238 | 239 | pca = PCA(n_components=2) 240 | pca.fit(existing_df) 241 | 242 | existing_2d = pca.transform(existing_df) 243 | existing_df_2d = pd.DataFrame(existing_2d) 244 | existing_df_2d.index = existing_df.index 245 | existing_df_2d.columns = ['PC1','PC2'] 246 | 247 | %matplotlib inline 248 | 249 | ax = existing_df_2d.plot(kind='scatter', x='PC2', y='PC1', figsize=(16,8)) 250 | 251 | for i, country in enumerate(existing_df.index): 252 | ax.annotate(country, (existing_df_2d.iloc[i].PC2, existing_df_2d.iloc[i].PC1)) 253 | 254 | 255 | ![png](tb-world-situation_files/tb-world-situation_8_0.png) 256 | 257 | 258 | There are more countries at the very top and on the right hand side. That is, 259 | there are more countries with relatively less cases and that have improved their 260 | situation with time. But there are some facts that makes us want to keep 261 | exploring our data: 262 | - The distribution is not uniform. There is a high concentration of countries at 263 | the very top. This means that there are a group of countries able to deal with 264 | the disease in a way that is not accesible to many more (i.e. those countries 265 | over and under the 0 line in the vertical axis respectively). 266 | - There are countries that, far from improving its situation in the 1990-2007 267 | period has most of them have done, ended up with more cases in 2007 than they 268 | had in 1990. 269 | - There is a country, [Djibouti](https://en.wikipedia.org/wiki/Djibouti) that 270 | lies quite outside of the rest and might need closer attention. 271 | 272 | ## Grouping countries based on their situation 273 | 274 | By [clustering](https://en.wikipedia.org/wiki/Cluster_analysis) our original 275 | dataset, we will colour the previous chart in order to identify up to six 276 | different groups. This is the minimal number of clusters that we have observed 277 | better (and more consistently) separates them in order to have a look at the 278 | center of each cluster, and try to understand different world tendencies and 279 | differences. 280 | 281 | 282 | import numpy as np 283 | from sklearn.cluster import KMeans 284 | 285 | np.random.seed(1234) 286 | kmeans = KMeans(n_clusters=6) 287 | clusters = kmeans.fit(existing_df) 288 | existing_df_2d['cluster'] = pd.Series(clusters.labels_, index=existing_df_2d.index) 289 | 290 | import numpy as np 291 | styles = ['b','r','y','c','g','k'] 292 | existing_df_2d.plot( 293 | kind='scatter', 294 | x='PC2',y='PC1', 295 | c=[styles[i] for i in existing_df_2d.cluster.astype(np.int)], 296 | s=100, 297 | figsize=(16,8)) 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | ![png](tb-world-situation_files/tb-world-situation_12_1.png) 308 | 309 | 310 | Most clusters divide the distribution vertically (i.e. based on the absolute 311 | number of cases) but there is also a division in the horizontal axis that we 312 | will have a look at. In order to complement this view, let's have a look at the 313 | same data as a line chart that represents how each cluster representative 314 | evolves over time. 315 | 316 | 317 | cluster_centers_df = pd.DataFrame( 318 | clusters.cluster_centers_, 319 | index=['World Cluster 1', 'World Cluster 2', 'World Cluster 3', 'World Cluster 4', 'World Cluster 5', 'World Cluster 6']) 320 | cluster_centers_df.columns = existing_df.columns 321 | 322 | ax = cluster_centers_df.T.plot( 323 | figsize=(16,8), 324 | style=styles, 325 | linewidth = 3) 326 | ax.set_ylabel("Existing cases per 100K") 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | ![png](tb-world-situation_files/tb-world-situation_14_1.png) 337 | 338 | 339 | Let's analyse each of these world clusters or groups in detail. 340 | 341 | ### World Cluster 1 342 | 343 | 344 | sum(clusters.labels_ == 0) 345 | 346 | 347 | 348 | 349 | 90 350 | 351 | 352 | 353 | There are 90 countries in the first cluster, and these are: 354 | 355 | 356 | existing_df_2d[existing_df_2d.cluster == 0].index 357 | 358 | 359 | 360 | 361 | Index([u'Albania', u'Algeria', u'American Samoa', u'Andorra', u'Anguilla', u'Antigua and Barbuda', u'Argentina', u'Australia', u'Austria', u'Bahamas', u'Barbados', u'Belgium', u'Belize', u'Bermuda', u'British Virgin Islands', u'Bulgaria', u'Canada', u'Cayman Islands', u'Chile', u'Colombia', u'Cook Islands', u'Costa Rica', u'Cuba', u'Cyprus', u'Czech Republic', u'Denmark', u'Dominica', u'Egypt', u'Estonia', u'Fiji', u'Finland', u'France', u'French Polynesia', u'Germany', u'Greece', u'Grenada', u'Hungary', u'Iceland', u'Iran', u'Ireland', u'Israel', u'Italy', u'Jamaica', u'Japan', u'Jordan', u'Kuwait', u'Lebanon', u'Libyan Arab Jamahiriya', u'Luxembourg', u'Malta', u'Mauritius', u'Mexico', u'Monaco', u'Montserrat', u'Netherlands', u'Netherlands Antilles', u'New Caledonia', u'New Zealand', u'Norway', u'Oman', u'Panama', u'Poland', u'Portugal', u'Puerto Rico', u'Saint Kitts and Nevis', u'Saint Lucia', u'Saint Vincent and the Grenadines', u'Samoa', u'San Marino', u'Saudi Arabia', u'Singapore', u'Slovakia', u'Slovenia', u'Spain', u'Sweden', u'Switzerland', u'Syrian Arab Republic', u'Macedonia, FYR', u'Tonga', u'Trinidad and Tobago', u'Tunisia', u'Turkey', u'Turks and Caicos Islands', u'United Arab Emirates', u'United Kingdom', u'Virgin Islands (U.S.)', u'United States of America', u'Uruguay', u'Venezuela', u'West Bank and Gaza'], dtype='object') 362 | 363 | 364 | 365 | The center of this cluster gives us an idea of how an average country might look 366 | like: 367 | 368 | 369 | cluster_centers_df.loc['World Cluster 1'] 370 | 371 | 372 | 373 | 374 | year 375 | 1990 37.277778 376 | 1991 35.688889 377 | 1992 35.733333 378 | 1993 34.400000 379 | 1994 33.511111 380 | 1995 32.422222 381 | 1996 30.800000 382 | 1997 30.511111 383 | 1998 29.300000 384 | 1999 26.777778 385 | 2000 24.355556 386 | 2001 23.577778 387 | 2002 22.022222 388 | 2003 20.933333 389 | 2004 20.488889 390 | 2005 19.922222 391 | 2006 19.255556 392 | 2007 19.111111 393 | Name: World Cluster 1, dtype: float64 394 | 395 | 396 | 397 | Although this group of countries might be a bit too large and heterogeneous, and 398 | probably needs further refinement, it is a good grouping when comparing their 399 | situation to that of other countries in the world. In any case it contains those 400 | countries with less number of existing cases in our set. 401 | 402 | ### World Cluster 2 403 | 404 | 405 | sum(clusters.labels_ == 1) 406 | 407 | 408 | 409 | 410 | 15 411 | 412 | 413 | 414 | There are just 15 countries in this small group. These are: 415 | 416 | 417 | existing_df_2d[existing_df_2d.cluster == 1].index 418 | 419 | 420 | 421 | 422 | Index([u'Bangladesh', u'Bhutan', u'Cambodia', u'Korea, Dem. Rep.', u'Kiribati', u'Mali', u'Mauritania', u'Namibia', u'Philippines', u'Sierra Leone', u'South Africa', u'Swaziland', u'Timor-Leste', u'Togo', u'Zambia'], dtype='object') 423 | 424 | 425 | 426 | Apart from the world cluster 6, that is formed by a single country as we will 427 | see, this group is represented by the centroid with the highest prevalence of 428 | tuberculosis per 100K: 429 | 430 | 431 | cluster_centers_df.loc['World Cluster 2'] 432 | 433 | 434 | 435 | 436 | year 437 | 1990 715.933333 438 | 1991 702.800000 439 | 1992 686.400000 440 | 1993 669.800000 441 | 1994 654.200000 442 | 1995 641.066667 443 | 1996 618.400000 444 | 1997 618.466667 445 | 1998 599.000000 446 | 1999 603.333333 447 | 2000 612.733333 448 | 2001 626.200000 449 | 2002 582.400000 450 | 2003 577.200000 451 | 2004 568.266667 452 | 2005 571.466667 453 | 2006 567.400000 454 | 2007 561.866667 455 | Name: World Cluster 2, dtype: float64 456 | 457 | 458 | 459 | These are by all means the countries with the most tuberculosis cases every 460 | year. We can also see that the number of cases descends progressively. The total 461 | decrease between 1990 and 2007 is over 20%. 462 | 463 | ### World Cluster 3 464 | 465 | 466 | sum(clusters.labels_ == 2) 467 | 468 | 469 | 470 | 471 | 20 472 | 473 | 474 | 475 | This is a very important group of countries. There are 20 of them: 476 | 477 | 478 | existing_df_2d[existing_df_2d.cluster == 2].index 479 | 480 | 481 | 482 | 483 | Index([u'Botswana', u'Burkina Faso', u'Burundi', u'Central African Republic', u'Chad', u'Congo, Rep.', u'Cote d'Ivoire', u'Congo, Dem. Rep.', u'Equatorial Guinea', u'Ethiopia', u'Guinea', u'Kenya', u'Lesotho', u'Mozambique', u'Nigeria', u'Rwanda', u'Senegal', u'Uganda', u'Tanzania', u'Zimbabwe'], dtype='object') 484 | 485 | 486 | 487 | The average country that represents them looks like this: 488 | 489 | 490 | cluster_centers_df.loc['World Cluster 3'] 491 | 492 | 493 | 494 | 495 | year 496 | 1990 259.85 497 | 1991 278.90 498 | 1992 287.30 499 | 1993 298.05 500 | 1994 309.00 501 | 1995 322.95 502 | 1996 335.00 503 | 1997 357.65 504 | 1998 369.65 505 | 1999 410.85 506 | 2000 422.25 507 | 2001 463.75 508 | 2002 492.45 509 | 2003 525.25 510 | 2004 523.60 511 | 2005 519.90 512 | 2006 509.80 513 | 2007 513.50 514 | Name: World Cluster 3, dtype: float64 515 | 516 | 517 | 518 | This is the only cluster where the number of cases has increased over the years, 519 | and is about to overtake the first position by 2007. It represents a country 520 | that might be in the middle of an humanitarian crisis and probably being 521 | affected by other infectious diseases such as HIV. We can see how the number of 522 | existing cases per 100K has doubled in the 1990-2007 period. 523 | 524 | ### World Cluster 4 525 | 526 | 527 | sum(clusters.labels_ == 3) 528 | 529 | 530 | 531 | 532 | 51 533 | 534 | 535 | 536 | The fourth cluster contains 51 countries. 537 | 538 | 539 | existing_df_2d[existing_df_2d.cluster == 3].index 540 | 541 | 542 | 543 | 544 | Index([u'Armenia', u'Azerbaijan', u'Bahrain', u'Belarus', u'Benin', u'Bosnia and Herzegovina', u'Brazil', u'Brunei Darussalam', u'Cameroon', u'Comoros', u'Croatia', u'Dominican Republic', u'Ecuador', u'El Salvador', u'Eritrea', u'Georgia', u'Guam', u'Guatemala', u'Guyana', u'Honduras', u'Iraq', u'Kazakhstan', u'Kyrgyzstan', u'Latvia', u'Lithuania', u'Malaysia', u'Maldives', u'Micronesia, Fed. Sts.', u'Morocco', u'Nauru', u'Nicaragua', u'Niue', u'Northern Mariana Islands', u'Palau', u'Paraguay', u'Qatar', u'Korea, Rep.', u'Moldova', u'Romania', u'Russian Federation', u'Seychelles', u'Sri Lanka', u'Suriname', u'Tajikistan', u'Tokelau', u'Turkmenistan', u'Ukraine', u'Uzbekistan', u'Vanuatu', u'Wallis et Futuna', u'Yemen'], dtype='object') 545 | 546 | 547 | 548 | Represented by its centroid. 549 | 550 | 551 | cluster_centers_df.loc['World Cluster 4'] 552 | 553 | 554 | 555 | 556 | year 557 | 1990 130.607843 558 | 1991 133.411765 559 | 1992 125.607843 560 | 1993 127.549020 561 | 1994 124.823529 562 | 1995 127.705882 563 | 1996 121.686275 564 | 1997 130.509804 565 | 1998 125.823529 566 | 1999 124.450980 567 | 2000 110.588235 568 | 2001 106.607843 569 | 2002 121.098039 570 | 2003 103.019608 571 | 2004 101.803922 572 | 2005 97.294118 573 | 2006 96.176471 574 | 2007 91.686275 575 | Name: World Cluster 4, dtype: float64 576 | 577 | 578 | 579 | This cluster is pretty close to the first and larger one. It contains many 580 | american countries, some european countries, etc. Some of them are large and 581 | rich, such as Russia or Brazil. Structurally the differece with the countries in 582 | World Cluster 1 may reside in a larger number of cases per 100K. They also seem 583 | to be decreasing the number of cases slightly faster than World Cluster 1. These 584 | two reasons made them form a different group. 585 | 586 | ### World Cluster 5 587 | 588 | 589 | sum(clusters.labels_ == 4) 590 | 591 | 592 | 593 | 594 | 30 595 | 596 | 597 | 598 | This group contains 50 countries: 599 | 600 | 601 | existing_df_2d[existing_df_2d.cluster == 4].index 602 | 603 | 604 | 605 | 606 | Index([u'Afghanistan', u'Angola', u'Bolivia', u'Cape Verde', u'China', u'Gabon', u'Gambia', u'Ghana', u'Guinea-Bissau', u'Haiti', u'India', u'Indonesia', u'Laos', u'Liberia', u'Madagascar', u'Malawi', u'Mongolia', u'Myanmar', u'Nepal', u'Niger', u'Pakistan', u'Papua New Guinea', u'Peru', u'Sao Tome and Principe', u'Solomon Islands', u'Somalia', u'Sudan', u'Thailand', u'Tuvalu', u'Viet Nam'], dtype='object') 607 | 608 | 609 | 610 | With a tendency given by: 611 | 612 | 613 | cluster_centers_df.loc['World Cluster 5'] 614 | 615 | 616 | 617 | 618 | year 619 | 1990 444.500000 620 | 1991 435.200000 621 | 1992 426.166667 622 | 1993 417.400000 623 | 1994 409.233333 624 | 1995 400.566667 625 | 1996 378.600000 626 | 1997 365.366667 627 | 1998 358.033333 628 | 1999 354.433333 629 | 2000 350.600000 630 | 2001 326.733333 631 | 2002 316.166667 632 | 2003 308.500000 633 | 2004 297.866667 634 | 2005 288.800000 635 | 2006 284.966667 636 | 2007 280.800000 637 | Name: World Cluster 5, dtype: float64 638 | 639 | 640 | 641 | It is a relatively large cluster. Still countries with lots of cases, but 642 | definitively less than the first cluster. We see countries such as India or 643 | China here, the larger countries on earth (if you Google about it, you'll see 644 | that China itself has reduced its cases by 85% over time) and american countries 645 | such as Peru or Bolivia. In fact, this is the cluster with the fastest decrease 646 | in the number of existing cases as we see in the line chart. 647 | 648 | ### World Cluster 6 649 | 650 | 651 | sum(clusters.labels_ == 5) 652 | 653 | 654 | 655 | 656 | 1 657 | 658 | 659 | 660 | The last group is formed by a single country, Djibouti. 661 | 662 | 663 | existing_df.loc['Djibouti'] 664 | 665 | 666 | 667 | 668 | year 669 | 1990 1485 670 | 1991 1477 671 | 1992 1463 672 | 1993 1442 673 | 1994 1414 674 | 1995 1381 675 | 1996 720 676 | 1997 669 677 | 1998 698 678 | 1999 701 679 | 2000 761 680 | 2001 775 681 | 2002 932 682 | 2003 960 683 | 2004 1034 684 | 2005 1046 685 | 2006 1093 686 | 2007 1104 687 | Name: Djibouti, dtype: int64 688 | 689 | 690 | 691 | It is so badly affected by the disease that it forms a separate cluster on its 692 | own. You can google about ['high prevalence tuberculosis 693 | Djibouti'](https://www.google.co.uk/webhp?sourceid=chrome- 694 | instant&ion=1&espv=2&ie=UTF-8#q=high+prevalence+tuberculosis+djibouti) and see 695 | how this situation has been and still is subject to study and actions. Wikipedia 696 | also has an [article about health in 697 | Djibuti](https://en.wikipedia.org/wiki/Health_in_Djibouti). 698 | 699 | > In Djibouti, malnutrition is severe and the incidence of tuberculosis is high. 700 | Malaria is endemic. There were 3,111 reported cases of tuberculosis in 2009. The 701 | city of Djibouti’s publicly supplied water is suspect because the system is in 702 | disrepair. 703 | 704 | Our dataset estimates existing cases of tuberculosis per 100K. We don't know if 705 | that number in Wikipedia makes reference to new or existing cases, but it seems 706 | to be by absolute terms and not per 100K. In both cases, new and existing, if we 707 | compare the WHO numbers for 2007, it seems a reduction in the number of cases 708 | (e.g. the number of estimated new cases in 2007 was 6,769). The population of 709 | the country is 810,179. 710 | 711 | ## Conclusions 712 | 713 | During our analysis, we have seen how most countries improved their situation 714 | regarding the prevalence of infectious tuberculosis during the time lapse we 715 | considered. However we were also able to discover a group of countries with a 716 | high prevalence of the disease that, far from improving their situation, are 717 | increasing the number of cases. 718 | 719 | We have just scratched the surface. There are other analysis we can carry out by 720 | using complementary datasets form the World Health Organisation, such as 721 | detection rates, new cases, or deaths. We can also cross link this datasets with 722 | others related to HIV/AIDS in order to confirm the co-ocurrence of both 723 | diseases. 724 | 725 | This analysis also opens the door to analyise the impact of Tuberculosis 726 | programs. Once we are able to identify different groups of countries and their 727 | tendencies, we can follow them over time and associate changes (e.g. prevalence 728 | or incidence) with the time when these programs started. 729 | 730 | All these approaches should create awareness on the real situation of a disease 731 | that is causing millions of deaths in some countries, while it was about to be 732 | neglected in some others. 733 | -------------------------------------------------------------------------------- /articles/tuberculosis-world-situation/tb-world-situation_files/tb-world-situation_12_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadianes/data-journalism/303efe78dc9d2f00958ac2fc71811e13d64198d2/articles/tuberculosis-world-situation/tb-world-situation_files/tb-world-situation_12_1.png -------------------------------------------------------------------------------- /articles/tuberculosis-world-situation/tb-world-situation_files/tb-world-situation_14_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadianes/data-journalism/303efe78dc9d2f00958ac2fc71811e13d64198d2/articles/tuberculosis-world-situation/tb-world-situation_files/tb-world-situation_14_1.png -------------------------------------------------------------------------------- /articles/tuberculosis-world-situation/tb-world-situation_files/tb-world-situation_8_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadianes/data-journalism/303efe78dc9d2f00958ac2fc71811e13d64198d2/articles/tuberculosis-world-situation/tb-world-situation_files/tb-world-situation_8_0.png -------------------------------------------------------------------------------- /articles/tuberculosis-world-situation/tb_existing_100.csv: -------------------------------------------------------------------------------- 1 | "TB prevalence, all forms (per 100 000 population per year)",1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 2 | Afghanistan,436,429,422,415,407,397,397,387,374,373,346,326,304,308,283,267,251,238 3 | Albania,42,40,41,42,42,43,42,44,43,42,40,34,32,32,29,29,26,22 4 | Algeria,45,44,44,43,43,42,43,44,45,46,48,49,50,51,52,53,55,56 5 | American Samoa,42,14,4,18,17,22,0,25,12,8,8,6,5,6,9,11,9,5 6 | Andorra,39,37,35,33,32,30,28,23,24,22,20,20,21,18,19,18,17,19 7 | Angola,514,514,513,512,510,508,512,363,414,384,530,335,307,281,318,331,302,294 8 | Anguilla,38,38,37,37,36,35,35,36,36,36,35,35,35,35,35,34,34,34 9 | Antigua and Barbuda,16,15,15,14,13,12,12,11,11,9,8,9,7,9,8,8,9,9 10 | Argentina,96,91,86,82,78,74,71,67,63,58,52,51,42,41,39,39,37,35 11 | Armenia,52,49,51,55,60,68,74,75,74,86,94,99,97,91,85,79,79,81 12 | Australia,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6 13 | Austria,18,17,16,15,15,14,13,13,12,12,11,11,11,10,10,10,10,10 14 | Azerbaijan,58,55,57,61,67,76,85,91,100,106,113,117,99,109,90,85,86,86 15 | Bahamas,54,53,52,52,53,54,54,54,55,46,45,45,51,51,50,50,50,51 16 | Bahrain,120,113,108,101,97,92,89,86,83,67,57,56,55,53,48,45,45,60 17 | Bangladesh,639,623,608,594,579,576,550,535,516,492,500,491,478,458,444,416,392,387 18 | Barbados,8,8,7,7,6,6,6,6,5,5,5,4,4,4,4,4,3,3 19 | Belarus,62,54,59,62,75,82,91,98,109,113,110,100,89,68,68,68,69,69 20 | Belgium,16,15,15,15,15,14,13,13,12,12,12,13,12,11,11,11,10,9 21 | Belize,65,64,62,59,57,55,37,41,53,53,39,36,36,40,42,38,41,46 22 | Benin,140,138,135,132,129,125,127,129,130,128,128,129,137,139,134,135,134,135 23 | Bermuda,10,10,9,9,8,8,8,8,7,7,7,6,6,6,6,6,6,6 24 | Bhutan,924,862,804,750,699,651,620,597,551,538,515,512,472,460,443,412,406,363 25 | Bolivia,377,362,347,333,320,306,271,264,254,248,238,229,223,218,211,205,202,198 26 | Bosnia and Herzegovina,160,156,154,150,143,134,131,125,96,80,70,63,66,63,55,58,58,55 27 | Botswana,344,355,351,349,347,349,336,349,371,413,445,497,535,586,598,599,621,622 28 | Brazil,124,119,114,109,104,100,97,93,88,86,83,80,77,72,63,60,56,60 29 | British Virgin Islands,32,30,28,26,25,23,22,21,20,19,19,18,18,17,16,17,16,16 30 | Brunei Darussalam,91,91,91,91,91,91,91,88,88,93,108,85,78,73,63,55,59,65 31 | Bulgaria,43,48,54,57,58,57,59,65,68,68,64,63,52,42,40,41,40,41 32 | Burkina Faso,179,196,208,221,233,246,251,271,286,308,338,368,398,419,426,421,411,403 33 | Burundi,288,302,292,293,305,322,339,346,424,412,455,522,581,619,639,654,657,647 34 | Cambodia,928,905,881,858,836,811,810,789,777,764,758,750,728,712,696,676,672,664 35 | Cameroon,188,199,200,199,197,197,196,207,212,219,228,241,240,227,228,213,201,195 36 | Canada,7,7,7,6,6,6,5,5,5,5,5,4,4,4,4,4,4,4 37 | Cape Verde,449,438,428,418,408,398,394,391,387,384,380,283,374,370,367,278,285,280 38 | Cayman Islands,10,10,9,9,8,8,8,8,7,7,7,5,6,6,5,5,6,5 39 | Central African Republic,318,336,342,350,356,365,270,395,419,449,485,495,468,566,574,507,437,425 40 | Chad,251,272,282,294,304,315,354,408,433,390,420,450,502,573,548,518,505,497 41 | Chile,45,41,38,35,32,30,28,25,24,22,21,19,19,18,15,15,13,12 42 | China,327,321,315,309,303,303,290,283,276,273,269,265,259,241,220,206,200,194 43 | Colombia,88,85,82,79,76,73,71,69,67,61,51,62,60,58,55,53,44,43 44 | Comoros,188,177,167,157,148,140,130,155,120,143,112,103,104,107,99,91,86,83 45 | "Congo, Rep.",209,222,231,243,255,269,424,457,367,545,313,354,402,509,477,482,511,485 46 | Cook Islands,0,10,57,47,38,19,10,13,0,40,12,29,11,0,15,9,16,31 47 | Costa Rica,30,28,27,26,25,24,23,22,21,19,14,14,15,14,12,12,12,11 48 | Croatia,126,123,121,118,113,106,103,102,99,89,76,73,69,68,67,65,65,54 49 | Cuba,32,29,26,24,22,20,18,17,15,14,13,12,11,10,9,8,8,7 50 | Cyprus,14,13,13,12,11,11,11,10,7,7,9,8,7,6,6,6,6,6 51 | Czech Republic,22,22,22,21,21,21,21,21,19,18,16,14,13,12,11,11,10,9 52 | Cote d'Ivoire,292,304,306,309,312,319,329,350,376,413,472,571,561,590,604,613,597,582 53 | "Korea, Dem. Rep.",841,828,815,802,788,775,775,775,775,770,713,650,577,527,499,508,500,441 54 | "Congo, Dem. Rep.",275,306,327,352,376,411,420,466,472,528,592,643,697,708,710,702,692,666 55 | Denmark,12,12,11,10,10,9,9,8,8,8,7,7,7,7,7,6,7,6 56 | Djibouti,"1,485","1,477","1,463","1,442","1,414","1,381",720,669,698,701,761,775,932,960,"1,034","1,046","1,093","1,104" 57 | Dominica,24,24,24,23,23,22,22,18,20,20,20,22,20,20,20,21,13,19 58 | Dominican Republic,183,173,164,156,148,141,135,132,128,122,119,115,102,93,90,85,84,82 59 | Ecuador,282,271,259,249,238,228,221,212,207,200,194,185,170,162,155,155,148,140 60 | Egypt,48,47,47,45,45,44,51,46,43,40,36,34,32,31,29,28,27,27 61 | El Salvador,133,126,119,112,105,99,97,80,76,72,69,66,62,60,57,52,50,48 62 | Equatorial Guinea,169,181,187,194,200,207,216,222,236,253,274,441,470,490,370,366,358,469 63 | Eritrea,245,245,242,239,235,232,232,225,203,114,114,111,118,110,122,127,133,134 64 | Estonia,50,50,56,66,77,85,88,98,102,105,72,68,62,56,50,46,44,39 65 | Ethiopia,312,337,351,366,383,403,396,397,420,464,486,539,569,601,613,612,604,579 66 | Fiji,68,65,62,58,55,53,49,49,46,40,42,35,36,29,33,31,30,30 67 | Finland,14,12,11,10,9,10,10,10,9,9,8,7,7,6,6,5,5,5 68 | France,21,20,19,18,17,16,15,15,14,14,13,12,12,12,12,11,11,11 69 | French Polynesia,67,55,91,83,93,107,55,48,56,54,40,42,32,29,28,31,31,32 70 | Gabon,359,340,325,318,316,293,312,320,359,366,434,249,302,299,288,332,358,379 71 | Gambia,350,350,349,347,344,341,324,321,311,485,491,499,335,343,341,366,399,404 72 | Georgia,51,48,50,54,59,66,73,104,87,90,98,95,95,94,90,86,83,83 73 | Germany,15,15,14,14,13,13,12,11,11,10,9,8,7,6,6,6,5,5 74 | Ghana,533,519,502,480,455,432,426,388,384,382,368,358,359,358,359,357,355,353 75 | Greece,30,29,27,25,24,23,22,22,21,20,19,18,18,17,17,16,16,16 76 | Grenada,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6 77 | Guam,103,101,96,110,146,93,91,89,87,86,44,45,44,47,41,42,39,36 78 | Guatemala,113,111,108,106,103,100,95,94,93,92,90,91,89,89,86,85,84,87 79 | Guinea,241,248,255,262,269,275,277,293,305,317,332,346,363,380,391,425,426,448 80 | Guinea-Bissau,404,403,402,399,395,390,390,387,385,386,273,276,305,296,287,283,270,276 81 | Guyana,39,43,34,43,50,67,78,81,90,93,98,112,126,136,130,132,133,136 82 | Haiti,479,464,453,443,435,429,428,426,417,407,403,397,388,380,377,368,368,366 83 | Honduras,141,133,128,123,119,115,114,112,106,98,70,70,72,71,72,71,70,71 84 | Hungary,67,68,70,72,73,73,74,72,67,47,43,39,36,33,29,26,22,19 85 | Iceland,5,4,4,4,4,4,3,3,3,3,3,3,2,2,2,3,3,3 86 | India,586,577,566,555,542,525,517,501,487,476,443,411,389,349,311,299,290,283 87 | Indonesia,443,430,417,404,392,380,369,359,348,335,326,314,297,287,274,261,251,244 88 | Iran,50,51,56,54,55,55,61,52,45,41,40,38,37,35,32,31,29,27 89 | Iraq,88,88,88,88,88,88,84,84,82,80,71,69,65,67,71,75,78,79 90 | Ireland,19,18,18,17,15,14,12,12,12,12,12,11,10,10,10,10,10,11 91 | Israel,11,10,10,9,9,8,8,8,8,7,7,7,6,6,6,6,6,6 92 | Italy,11,10,10,9,9,8,9,8,7,7,7,7,7,6,6,6,6,6 93 | Jamaica,10,10,10,10,9,9,7,7,7,7,7,7,7,7,7,7,7,7 94 | Japan,62,60,58,56,53,51,50,50,49,48,45,41,39,36,34,32,30,28 95 | Jordan,19,18,17,17,16,15,20,18,12,11,11,9,9,9,9,8,9,9 96 | Kazakhstan,95,87,85,84,85,94,109,137,163,134,141,148,150,155,152,147,144,139 97 | Kenya,125,120,134,152,177,207,233,277,313,351,393,384,392,402,410,388,340,319 98 | Kiribati,"1,026","1,006",986,966,947,928,910,853,571,556,546,607,587,477,439,419,405,423 99 | Kuwait,89,84,80,75,72,68,66,64,61,35,33,33,30,29,29,30,25,25 100 | Kyrgyzstan,90,93,93,93,101,118,141,165,147,146,156,169,153,145,139,136,135,134 101 | Laos,428,424,420,415,411,407,373,360,352,344,344,337,330,324,313,298,291,289 102 | Latvia,56,57,59,63,75,91,77,89,92,95,91,89,85,78,72,66,61,55 103 | Lebanon,64,64,63,62,62,59,64,54,50,37,35,30,26,24,22,21,23,23 104 | Lesotho,225,231,229,228,232,242,248,264,298,518,356,370,399,408,414,421,408,568 105 | Liberia,476,473,469,465,462,461,418,424,396,403,435,437,382,429,370,416,393,398 106 | Libyan Arab Jamahiriya,46,45,45,43,43,42,41,38,36,23,22,22,21,20,19,18,18,17 107 | Lithuania,64,66,71,79,89,98,110,119,125,120,115,96,83,72,72,66,65,69 108 | Luxembourg,19,18,17,16,15,14,14,13,13,12,11,11,11,10,10,10,10,9 109 | Madagascar,367,368,369,369,370,370,339,345,346,352,359,371,382,375,384,408,400,417 110 | Malawi,380,376,365,355,353,348,337,342,345,349,362,350,358,353,346,342,324,305 111 | Malaysia,159,158,156,155,153,151,147,173,170,167,135,133,132,128,128,126,123,121 112 | Maldives,143,130,118,107,97,88,88,101,89,94,96,84,83,69,71,63,69,48 113 | Mali,640,631,621,609,597,583,573,566,565,567,571,573,572,578,584,589,593,599 114 | Malta,10,9,9,8,8,7,7,7,7,6,6,6,5,5,5,5,5,5 115 | Mauritania,585,587,590,592,594,595,622,615,612,615,619,624,632,642,494,565,556,559 116 | Mauritius,53,51,50,48,47,45,62,61,45,40,39,42,40,39,38,39,39,39 117 | Mexico,101,93,86,80,74,68,64,58,52,48,42,38,35,33,31,27,25,23 118 | "Micronesia, Fed. Sts.",263,253,244,234,225,217,204,287,276,265,173,171,152,142,128,124,112,100 119 | Monaco,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2 120 | Mongolia,477,477,477,477,477,477,333,342,307,281,297,273,258,258,233,232,217,234 121 | Montserrat,14,14,14,14,14,13,13,13,13,13,13,13,13,10,13,10,12,8 122 | Morocco,134,130,127,123,119,116,107,106,105,99,98,95,87,91,89,85,82,80 123 | Mozambique,287,313,328,343,356,369,386,408,432,461,499,535,556,569,567,551,528,504 124 | Myanmar,411,400,389,379,370,361,298,309,312,298,267,238,202,175,168,161,161,162 125 | Namibia,650,685,687,683,671,658,387,395,411,442,481,506,544,560,572,570,556,532 126 | Nauru,170,285,280,274,90,263,258,253,248,44,44,56,57,48,162,121,174,33 127 | Nepal,629,607,585,564,543,523,498,473,448,363,312,304,285,271,260,247,246,240 128 | Netherlands,11,10,10,9,9,8,8,8,8,7,7,7,6,6,6,6,6,6 129 | Netherlands Antilles,28,27,25,24,23,22,21,20,19,18,17,17,17,16,16,15,15,15 130 | New Caledonia,112,107,104,76,69,60,58,97,97,51,51,43,34,28,29,29,25,25 131 | New Zealand,10,10,9,9,10,11,10,10,11,11,11,10,10,10,10,9,8,7 132 | Nicaragua,145,137,129,122,114,108,100,97,93,89,85,80,79,73,69,68,64,56 133 | Niger,317,318,319,319,319,318,322,292,281,281,278,280,288,275,287,285,289,292 134 | Nigeria,282,307,321,336,350,366,379,399,423,452,489,526,563,575,573,563,543,521 135 | Niue,118,115,113,111,109,106,202,0,0,114,0,0,506,0,0,0,0,0 136 | Northern Mariana Islands,142,201,301,194,186,185,188,331,334,220,135,120,95,83,80,83,83,72 137 | Norway,8,8,8,7,7,6,6,6,6,5,5,5,5,5,4,4,4,4 138 | Oman,40,36,29,25,22,22,15,15,14,14,13,14,13,13,12,13,13,14 139 | Pakistan,430,428,427,426,424,422,421,421,415,420,413,406,376,355,333,289,260,223 140 | Palau,96,66,43,260,414,187,53,92,54,376,104,102,69,64,31,102,74,71 141 | Panama,74,73,71,70,69,68,67,67,65,64,60,51,48,49,44,44,44,45 142 | Papua New Guinea,498,498,497,497,496,496,494,493,491,489,486,482,477,471,463,453,441,430 143 | Paraguay,95,93,92,91,89,88,71,92,92,91,90,89,88,85,85,81,74,73 144 | Peru,394,368,343,320,298,278,270,251,230,222,210,198,187,182,167,155,143,136 145 | Philippines,799,783,766,750,735,719,705,689,669,649,600,578,561,542,534,520,505,500 146 | Poland,88,87,86,85,83,79,74,68,63,58,53,50,35,34,33,31,29,28 147 | Portugal,51,49,47,45,44,43,42,41,39,38,36,34,33,32,29,27,24,23 148 | Puerto Rico,17,15,17,18,18,18,15,13,12,10,9,8,7,6,6,6,6,5 149 | Qatar,71,69,69,74,84,89,87,84,75,78,78,78,75,71,71,69,77,81 150 | "Korea, Rep.",223,196,174,150,142,132,105,98,89,107,113,112,126,108,112,118,122,126 151 | Moldova,105,99,103,111,122,138,157,171,191,203,215,174,211,176,152,151,151,151 152 | Romania,118,125,134,147,159,167,174,184,129,194,197,206,180,185,178,148,138,128 153 | Russian Federation,69,64,70,78,91,111,132,142,155,160,164,158,148,140,135,121,117,115 154 | Rwanda,190,211,226,243,259,278,297,316,339,383,442,503,549,581,607,607,595,590 155 | Saint Kitts and Nevis,17,17,16,16,16,15,16,15,11,12,15,13,12,14,13,15,14,12 156 | Saint Lucia,26,26,25,25,25,24,23,17,16,18,20,18,17,19,18,18,18,18 157 | Saint Vincent and the Grenadines,45,45,44,43,42,42,42,41,38,41,35,36,36,34,36,36,34,39 158 | Samoa,36,35,34,33,32,31,35,33,50,31,27,33,28,28,24,27,26,25 159 | San Marino,9,9,8,8,7,7,7,7,7,6,6,6,6,5,5,5,5,5 160 | Sao Tome and Principe,346,335,325,315,304,295,290,285,290,276,272,266,261,266,255,256,252,240 161 | Saudi Arabia,68,60,59,60,64,67,71,73,76,72,67,65,62,60,60,60,62,65 162 | Senegal,380,379,379,378,377,376,372,388,397,424,420,430,443,441,454,456,461,468 163 | Seychelles,113,110,106,103,100,96,66,59,71,90,52,53,42,66,52,57,56,55 164 | Sierra Leone,465,479,492,504,517,534,525,565,602,636,675,696,743,784,830,866,902,941 165 | Singapore,52,52,53,50,49,49,50,50,48,44,39,36,34,32,31,28,27,27 166 | Slovakia,55,56,59,59,56,51,46,42,38,35,32,30,29,26,25,21,20,20 167 | Slovenia,66,62,59,57,53,50,35,35,32,29,27,25,22,21,19,16,16,15 168 | Solomon Islands,625,593,563,534,506,480,380,354,339,322,300,286,277,254,229,204,197,180 169 | Somalia,597,587,577,566,555,543,465,444,446,431,414,398,391,362,334,325,341,352 170 | South Africa,769,726,676,620,562,502,480,466,465,426,515,581,586,649,676,707,690,692 171 | Spain,44,42,40,37,35,34,33,30,30,28,27,26,26,25,24,24,24,23 172 | Sri Lanka,109,106,104,102,99,97,102,93,90,89,107,99,88,89,87,75,80,79 173 | Sudan,409,404,402,402,403,405,409,417,378,382,375,389,363,371,376,384,391,402 174 | Suriname,109,100,79,80,76,78,88,101,118,122,115,113,113,120,126,136,146,155 175 | Swaziland,629,590,527,477,448,441,460,504,556,647,740,832,693,739,776,788,801,812 176 | Sweden,5,5,6,6,5,5,5,4,4,4,4,4,4,4,4,4,4,5 177 | Switzerland,14,13,12,11,10,10,9,8,8,8,7,6,6,6,6,5,5,5 178 | Syrian Arab Republic,94,89,84,80,75,71,67,61,54,48,41,37,35,33,31,30,29,27 179 | Tajikistan,193,162,112,79,85,106,134,141,159,169,191,221,248,256,277,282,301,322 180 | Thailand,336,319,307,297,291,285,285,279,256,231,223,194,197,189,188,184,189,192 181 | "Macedonia, FYR",92,90,89,86,83,77,74,73,72,65,56,39,40,37,34,34,34,33 182 | Timor-Leste,706,694,681,669,656,644,644,644,644,644,644,644,345,359,367,370,385,378 183 | Togo,702,687,668,647,628,614,613,658,637,647,656,669,701,693,702,713,726,750 184 | Tokelau,139,140,143,112,0,301,0,112,112,0,0,0,112,0,112,0,0,0 185 | Tonga,45,44,43,43,42,41,38,38,31,34,34,42,35,36,39,32,34,28 186 | Trinidad and Tobago,17,17,17,16,16,16,16,16,15,15,15,16,15,15,15,15,15,15 187 | Tunisia,49,46,49,51,51,49,48,46,44,31,30,28,27,26,27,27,28,28 188 | Turkey,83,79,77,73,68,62,62,63,64,57,49,45,44,43,44,44,32,34 189 | Turkmenistan,105,99,101,97,92,80,92,114,137,142,130,115,110,103,98,91,85,75 190 | Turks and Caicos Islands,42,40,37,35,33,31,30,29,28,17,16,23,23,22,22,22,18,17 191 | Tuvalu,593,573,554,535,518,500,484,467,452,437,422,408,394,381,368,245,261,203 192 | Uganda,206,313,342,377,394,418,419,342,357,359,391,411,447,476,472,469,450,426 193 | Ukraine,67,64,67,72,75,78,87,93,104,109,120,128,133,135,132,113,99,102 194 | United Arab Emirates,47,44,42,39,38,36,34,33,31,30,27,27,27,25,25,24,24,24 195 | United Kingdom,9,9,10,10,9,9,9,9,9,9,9,9,9,10,10,11,11,12 196 | Tanzania,215,228,240,252,269,283,301,324,333,347,364,367,383,380,373,364,353,337 197 | Virgin Islands (U.S.),30,28,27,25,24,23,19,18,17,19,19,18,18,17,17,16,16,16 198 | United States of America,7,7,7,7,6,6,6,5,5,4,4,4,4,4,3,3,3,3 199 | Uruguay,35,34,33,32,31,30,28,27,28,28,27,25,27,25,23,24,25,23 200 | Uzbekistan,114,105,102,118,116,119,111,122,129,134,139,148,144,152,149,144,134,140 201 | Vanuatu,278,268,259,250,242,234,226,218,211,159,143,128,149,128,118,131,104,102 202 | Venezuela,46,45,44,43,42,42,41,41,40,39,39,41,41,39,38,38,38,39 203 | Viet Nam,365,361,358,354,350,346,312,273,261,253,248,243,235,234,226,227,222,220 204 | Wallis et Futuna,126,352,64,174,172,93,123,213,107,105,103,13,275,147,63,57,60,25 205 | West Bank and Gaza,55,54,54,52,52,50,49,46,44,42,40,39,37,36,35,33,32,31 206 | Yemen,265,261,263,253,250,244,233,207,194,175,164,154,149,146,138,137,135,130 207 | Zambia,436,456,494,526,556,585,602,626,634,657,658,680,517,478,468,453,422,387 208 | Zimbabwe,409,417,415,419,426,439,453,481,392,430,479,523,571,632,652,680,699,714 --------------------------------------------------------------------------------