In [1]:
 
In [4]:
sys.executable
Out[4]:
'C:\\ProgramData\\Anaconda3\\python.exe'
In [3]:
import sys
!"{sys.executable}" -m pip install pandas_datareader --user
Collecting pandas_datareader
  Downloading https://files.pythonhosted.org/packages/cc/5c/ea5b6dcfd0f55c5fb1e37fb45335ec01cceca199b8a79339137f5ed269e0/pandas_datareader-0.7.0-py2.py3-none-any.whl (111kB)
Requirement already satisfied: pandas>=0.19.2 in c:\programdata\anaconda3\lib\site-packages (from pandas_datareader) (0.23.4)
Requirement already satisfied: lxml in c:\programdata\anaconda3\lib\site-packages (from pandas_datareader) (4.2.5)
Requirement already satisfied: requests>=2.3.0 in c:\programdata\anaconda3\lib\site-packages (from pandas_datareader) (2.19.1)
Requirement already satisfied: wrapt in c:\programdata\anaconda3\lib\site-packages (from pandas_datareader) (1.10.11)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.19.2->pandas_datareader) (2.7.3)
Requirement already satisfied: pytz>=2011k in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.19.2->pandas_datareader) (2018.5)
Requirement already satisfied: numpy>=1.9.0 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.19.2->pandas_datareader) (1.15.1)
Requirement already satisfied: urllib3<1.24,>=1.21.1 in c:\programdata\anaconda3\lib\site-packages (from requests>=2.3.0->pandas_datareader) (1.23)
Requirement already satisfied: certifi>=2017.4.17 in c:\programdata\anaconda3\lib\site-packages (from requests>=2.3.0->pandas_datareader) (2018.8.24)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\programdata\anaconda3\lib\site-packages (from requests>=2.3.0->pandas_datareader) (3.0.4)
Requirement already satisfied: idna<2.8,>=2.5 in c:\programdata\anaconda3\lib\site-packages (from requests>=2.3.0->pandas_datareader) (2.7)
Requirement already satisfied: six>=1.5 in c:\programdata\anaconda3\lib\site-packages (from python-dateutil>=2.5.0->pandas>=0.19.2->pandas_datareader) (1.11.0)
Installing collected packages: pandas-datareader
Successfully installed pandas-datareader-0.7.0
twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.
You are using pip version 10.0.1, however version 19.0.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
In [1]:
from pandas_datareader import wb
In [2]:
import pandas as pd
In [10]:
# https://data.worldbank.org/indicator/NY.GDP.PCAP.KD.ZG?view=chart

df = wb.download(country='all', 
                 indicator=['NY.GDP.PCAP.KD.ZG',
                            'SE.XPD.TOTL.GB.ZS'], start=1999, 
                 end=2018).dropna()
In [25]:
df.unstack()
Out[25]:
NY.GDP.PCAP.KD.ZG ... SE.XPD.TOTL.GB.ZS
year 2008 2004 2017 2016 2015 2014 2013 2012 2011 2010 ... 2010 2009 2007 2005 2003 2002 2001 2000 1999 2006
country
Arab World 3.218634 6.956835 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Caribbean small states 0.596398 3.255269 -0.342036 -2.411317 0.458455 0.043686 0.248173 0.671489 0.457713 0.812047 ... 16.102940 17.552840 17.173050 14.269370 13.636205 16.324570 16.078290 14.263860 11.230040 NaN
Central Europe and the Baltics 4.129507 5.864995 NaN NaN 4.026191 3.266528 1.554499 0.973169 3.573625 2.081673 ... 11.064640 11.076480 11.267150 12.072520 11.644380 10.922350 11.143280 10.323610 10.139015 12.337945
Early-demographic dividend 1.986392 4.965330 NaN NaN NaN 2.538335 2.794211 2.718651 3.663298 4.864918 ... 16.409200 NaN 16.897390 NaN 16.343010 16.323490 16.639130 16.730510 NaN 17.742730
East Asia & Pacific 2.792288 4.346245 NaN NaN NaN 3.419042 4.041366 3.973349 3.921076 6.347352 ... 16.222620 15.239000 15.534485 NaN NaN 16.222930 16.248715 NaN NaN NaN
East Asia & Pacific (excluding high income) 7.649514 8.052381 NaN NaN NaN NaN 6.418427 6.733750 7.688630 9.000707 ... 15.466880 14.511420 14.944310 NaN NaN 16.204550 12.754900 15.640765 NaN NaN
East Asia & Pacific (IDA & IBRD countries) 7.647573 8.053341 NaN NaN NaN 5.985575 6.416175 6.731868 7.686619 8.998582 ... 15.466880 14.511420 14.944310 NaN NaN 16.204550 12.754900 15.640765 NaN NaN
Euro area -0.049893 1.764205 NaN NaN 1.764602 0.992304 -0.585412 -1.111648 1.824524 1.844655 ... 11.166030 11.626985 11.624960 11.174200 11.525330 12.022150 12.094010 11.075630 11.302270 11.358175
Europe & Central Asia 0.605772 2.942637 NaN NaN 1.484950 1.361980 0.422582 -0.103867 2.165425 2.179025 ... 11.660530 11.847320 11.944620 12.235990 12.161355 12.369660 12.313450 11.869300 11.760060 12.665410
Europe & Central Asia (excluding high income) 4.100500 8.182557 NaN 0.902510 -0.052895 1.635463 NaN 3.115092 5.970943 NaN ... NaN 12.848825 11.944620 12.620110 12.492940 13.603510 12.361960 11.485135 NaN 12.895390
Europe & Central Asia (IDA & IBRD countries) 4.067947 7.690785 NaN 1.198016 0.455579 1.804771 3.058326 2.811189 5.740121 4.382069 ... 11.163420 11.866615 11.267150 12.421195 11.644380 11.889380 12.096725 11.611300 NaN 12.780400
European Union 0.104460 2.161427 NaN NaN 2.008884 1.434593 -0.039924 -0.633786 1.787711 1.877277 ... 11.064640 11.410650 11.446055 12.072520 11.644380 11.494290 11.831490 11.472465 11.323575 12.010480
Fragile and conflict affected situations NaN NaN NaN NaN NaN NaN 1.203295 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Heavily indebted poor countries (HIPC) 3.125814 2.581966 NaN 1.657643 2.117384 2.689223 2.898755 2.832078 1.639056 2.935096 ... 17.548060 18.175620 NaN 16.979190 NaN 15.106500 15.731840 14.907730 NaN 17.620645
High income -0.481066 2.601144 NaN NaN 1.717666 1.380350 0.772607 0.628670 1.389534 2.300470 ... 12.208075 12.616520 12.871010 12.751060 12.792200 13.044065 12.614085 12.170920 11.856630 13.135485
IBRD only 4.552627 6.531120 NaN NaN NaN NaN 3.919042 3.979690 5.137853 6.397299 ... 15.575635 15.146910 14.088980 13.738650 14.914575 14.473555 13.915910 16.226350 16.111635 13.673675
IDA & IBRD total 4.221940 6.173057 NaN NaN 2.512190 3.024307 3.658491 3.673287 4.712318 5.988259 ... 16.102940 16.021040 15.445520 15.043610 15.939530 15.223015 15.662060 15.206760 NaN 15.636010
IDA blend NaN 5.376659 NaN -0.710684 1.451159 3.418550 3.381534 2.148244 2.517222 3.763408 ... 16.732515 NaN NaN NaN NaN NaN NaN 12.923930 NaN NaN
IDA only 3.911594 3.366364 NaN 2.394669 2.365708 3.285623 3.690823 3.567347 1.953227 3.810050 ... 16.172820 17.185165 NaN 16.461920 NaN 15.690795 15.662060 14.907730 NaN 17.480470
IDA total 2.931257 4.360767 NaN 0.818279 1.911844 3.372580 3.551482 2.852567 2.270238 3.809955 ... 16.172820 16.959410 NaN 17.070000 NaN 15.940775 15.731840 14.740715 NaN NaN
Late-demographic dividend 5.864196 7.171818 NaN NaN 3.185639 3.947374 4.553948 4.723489 6.213965 6.996462 ... 14.566765 13.981320 13.573950 13.562420 15.049030 14.285210 13.239240 13.286830 14.095940 13.429760
Latin America & Caribbean 2.636088 NaN NaN -1.464721 -0.983201 -0.096448 1.602726 1.610502 3.174449 4.588408 ... 17.131070 17.294225 16.437330 NaN 14.887000 16.065110 16.356380 15.250370 15.652220 15.630885
Latin America & Caribbean (excluding high income) 2.707959 NaN NaN -1.485114 -1.431809 0.152162 1.574726 1.841545 3.003455 4.339212 ... 17.590495 18.012620 16.437330 NaN 15.212130 15.687790 18.461460 14.912035 14.716800 15.751770
Latin America & the Caribbean (IDA & IBRD countries) 2.741665 4.914696 NaN -1.495859 -1.055154 -0.088144 1.638263 1.640870 3.269767 4.747493 ... 17.131070 17.294225 16.437330 NaN 14.887000 16.065110 16.356380 15.250370 15.652220 15.630885
Least developed countries: UN classification 4.671486 4.265811 NaN NaN NaN 3.000483 3.187232 3.511293 1.546743 3.756946 ... 16.029925 16.099075 NaN 15.893455 NaN 15.693800 15.520160 15.051850 NaN NaN
Low & middle income 4.301251 6.218748 NaN NaN 2.552660 3.199350 3.796234 3.884372 4.738712 6.047306 ... 16.164220 16.081170 16.124660 15.043610 NaN 15.299560 15.695900 15.206760 NaN 15.751770
Low income 2.047235 2.593023 NaN 0.616747 0.829367 3.138040 2.992189 3.672730 1.533134 4.435059 ... 16.172820 17.410920 NaN NaN NaN NaN 15.486320 15.259890 NaN NaN
Lower middle income 3.345896 5.244889 NaN NaN NaN 4.110622 4.038235 3.638634 3.931188 5.795152 ... 16.654180 15.146910 NaN 14.849715 16.192590 15.690795 NaN 13.296340 NaN 17.408500
Middle East & North Africa 2.206531 5.984161 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 18.014180 NaN NaN 13.370010
Middle East & North Africa (excluding high income) 1.577537 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Sri Lanka NaN NaN 2.147756 3.301112 4.031031 4.020799 2.592074 8.556859 7.782192 7.356765 ... 8.605660 8.270790 NaN NaN NaN NaN NaN NaN NaN NaN
St. Kitts and Nevis NaN 2.615397 NaN NaN 1.113675 NaN NaN NaN NaN NaN ... NaN NaN 13.051810 11.056210 12.288060 11.059330 14.207530 13.685050 10.322950 12.478410
St. Lucia 4.109056 6.402726 NaN 2.895404 -1.373723 3.116200 -1.786647 -1.199390 2.770721 -0.737423 ... 14.202080 13.895320 NaN 16.306970 15.422160 NaN 25.854630 NaN 26.036270 19.011380
St. Vincent and the Grenadines NaN NaN 0.626833 1.800603 NaN NaN NaN NaN NaN -3.408341 ... 15.485630 17.338500 20.038410 22.591990 31.475510 28.701310 NaN 30.789200 21.145440 NaN
Sudan 5.046040 1.048059 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN 10.770700 NaN 5.966800 NaN 11.044890 NaN 9.116890 NaN 8.253160
Sweden -1.328732 3.911044 NaN NaN 3.422520 1.591300 0.386963 -1.021244 1.892057 5.089186 ... 13.306200 13.265500 12.845360 12.762740 12.920920 13.212710 12.878030 12.987670 12.492020 12.807020
Switzerland 0.864917 2.072136 NaN NaN 0.080621 1.206826 0.687572 -0.060803 0.568370 1.935434 ... 15.390880 15.643620 15.675130 15.820700 16.334890 15.311520 15.427710 14.640650 14.466880 15.970050
Syrian Arab Republic NaN 4.550445 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 18.925930 NaN 19.855400 16.826070 15.662060 NaN NaN 20.048480
Tajikistan 5.587739 8.134894 NaN NaN 3.702944 NaN NaN 5.078168 5.005285 4.167536 ... 15.331450 14.312160 12.214880 15.293380 12.694240 14.593640 13.188530 12.025140 11.834390 15.636010
Tanzania 2.287084 4.730254 NaN NaN NaN 3.697752 NaN NaN NaN 3.054970 ... 19.648010 17.410920 19.431740 18.143140 NaN NaN NaN NaN NaN 15.014120
Thailand 1.190416 5.557914 NaN NaN NaN NaN 2.236676 6.746677 0.360143 6.990585 ... 16.222620 18.178300 18.484670 20.546820 20.866350 16.222930 24.241340 28.388600 18.979020 22.002790
Timor-Leste 8.663269 NaN NaN NaN NaN -27.782775 -13.076199 2.672907 9.666770 -2.736282 ... 9.154210 10.586120 NaN NaN NaN NaN NaN NaN NaN NaN
Togo 1.285631 -0.523068 NaN 2.480608 3.064125 3.195735 3.348159 3.744587 3.589335 3.285153 ... 19.615760 19.371980 18.154520 17.678080 27.756430 30.700030 25.731360 24.423710 23.418760 17.286650
Tonga NaN -0.963766 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 18.412250 15.462750 19.781900 22.955860 22.608270 NaN
Trinidad and Tobago NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 13.910070 14.285210 12.165430 11.731120 11.230040 NaN
Tunisia 3.143561 5.409427 NaN NaN -0.010601 NaN NaN 2.801660 NaN 2.361702 ... 24.846830 25.262010 26.428630 26.695690 27.684290 22.880130 24.647760 24.591780 24.900790 26.861310
Turkey NaN 8.135502 NaN NaN 4.404111 3.469254 6.748486 3.159241 NaN NaN ... NaN NaN NaN NaN 7.419880 6.651650 5.982660 6.375830 NaN 7.967370
Turkmenistan NaN NaN NaN NaN NaN NaN NaN 9.122199 NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Uganda NaN 3.151422 0.531221 1.388912 1.751375 1.642910 0.147417 0.367852 5.718076 2.076684 ... 10.104890 NaN NaN NaN NaN NaN NaN 10.354870 NaN NaN
Ukraine 2.855418 12.953656 NaN 2.720932 NaN -1.144532 0.201174 0.486677 5.845342 NaN ... NaN 15.054820 14.036190 13.738650 14.419520 14.360960 12.810950 11.358970 13.534170 13.923230
United Kingdom -1.252779 1.783713 NaN 1.210531 1.535548 2.280809 1.371396 NaN 0.662683 0.900491 ... 13.028250 12.616520 13.035790 13.174180 13.606950 13.523150 12.264940 12.025620 11.755250 13.139420
United States NaN NaN NaN NaN NaN 1.800455 0.956719 1.459290 0.849705 1.681110 ... 13.055140 NaN NaN NaN NaN NaN NaN NaN NaN NaN
Uruguay NaN 5.052839 NaN NaN NaN NaN NaN NaN 4.813966 NaN ... NaN NaN NaN 9.436650 6.801340 7.693670 9.200010 8.318530 NaN 9.875500
Uzbekistan NaN NaN 3.546582 5.941724 6.132535 5.989421 6.326249 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Vanuatu 3.903753 NaN 2.290703 NaN -2.957877 0.074466 NaN NaN NaN NaN ... NaN 18.723150 NaN NaN 44.801800 36.409620 40.077550 27.524190 25.821780 NaN
Venezuela, RB NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN 20.663580 10.090050 NaN NaN NaN NaN NaN NaN 9.344000
Vietnam 4.664703 NaN NaN NaN NaN NaN 4.216882 4.066065 5.095026 5.332085 ... 17.114490 15.239000 NaN NaN NaN NaN NaN NaN NaN NaN
Yemen, Rep. 0.843691 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 30.321280 30.489280 NaN NaN
Zambia 4.836691 4.206339 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN 6.227910 7.729730 NaN NaN NaN 8.352620 NaN NaN
Zimbabwe NaN NaN NaN NaN NaN 0.004321 -0.338830 14.094516 NaN 17.332863 ... 8.720910 NaN NaN NaN NaN NaN NaN NaN NaN NaN

225 rows × 38 columns

In [24]:
df['NY.GDP.PCAP.KD.ZG'].unstack()
Out[24]:
year 2008 2004 2017 2016 2015 2014 2013 2012 2011 2010 2009 2007 2005 2003 2002 2001 2000 1999 2006
country
Arab World 3.218634 6.956835 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Caribbean small states 0.596398 3.255269 -0.342036 -2.411317 0.458455 0.043686 0.248173 0.671489 0.457713 0.812047 -4.165113 2.547405 3.022336 5.018441 2.929240 1.312019 3.086591 3.362789 NaN
Central Europe and the Baltics 4.129507 5.864995 NaN NaN 4.026191 3.266528 1.554499 0.973169 3.573625 2.081673 -3.315405 6.795452 5.216192 4.774030 4.140466 3.622629 4.703093 2.062596 6.844013
Early-demographic dividend 1.986392 4.965330 NaN NaN NaN 2.538335 2.794211 2.718651 3.663298 4.864918 NaN 4.544568 NaN 3.005790 -0.148411 -0.811487 2.631140 NaN 4.633356
East Asia & Pacific 2.792288 4.346245 NaN NaN NaN 3.419042 4.041366 3.973349 3.921076 6.347352 0.701488 5.720332 NaN NaN 2.739719 1.763390 NaN NaN NaN
East Asia & Pacific (excluding high income) 7.649514 8.052381 NaN NaN NaN NaN 6.418427 6.733750 7.688630 9.000707 6.928075 11.338648 NaN NaN 6.903795 5.714758 6.448072 NaN NaN
East Asia & Pacific (IDA & IBRD countries) 7.647573 8.053341 NaN NaN NaN 5.985575 6.416175 6.731868 7.686619 8.998582 6.926065 11.337170 NaN NaN 6.903515 5.714006 6.446363 NaN NaN
Euro area -0.049893 1.764205 NaN NaN 1.764602 0.992304 -0.585412 -1.111648 1.824524 1.844655 -4.826830 2.522211 1.180595 0.176889 0.530584 1.768186 3.518896 2.721315 2.755965
Europe & Central Asia 0.605772 2.942637 NaN NaN 1.484950 1.361980 0.422582 -0.103867 2.165425 2.179025 -4.860613 3.335365 2.451867 1.606821 1.560172 2.046485 4.188893 2.763598 3.619077
Europe & Central Asia (excluding high income) 4.100500 8.182557 NaN 0.902510 -0.052895 1.635463 NaN 3.115092 5.970943 NaN -6.403041 7.492168 7.037923 6.795244 5.563700 2.678158 7.970354 NaN 7.993027
Europe & Central Asia (IDA & IBRD countries) 4.067947 7.690785 NaN 1.198016 0.455579 1.804771 3.058326 2.811189 5.740121 4.382069 -5.308350 7.391795 6.518438 6.332734 5.071526 2.493246 7.510880 NaN 7.704093
European Union 0.104460 2.161427 NaN NaN 2.008884 1.434593 -0.039924 -0.633786 1.787711 1.877277 -4.635609 2.679540 1.708281 0.942022 1.099226 2.000250 3.728952 2.807102 2.962742
Fragile and conflict affected situations NaN NaN NaN NaN NaN NaN 1.203295 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Heavily indebted poor countries (HIPC) 3.125814 2.581966 NaN 1.657643 2.117384 2.689223 2.898755 2.832078 1.639056 2.935096 1.372229 NaN 3.146481 NaN 0.602523 1.372901 -0.062804 NaN 3.091792
High income -0.481066 2.601144 NaN NaN 1.717666 1.380350 0.772607 0.628670 1.389534 2.300470 -4.141564 1.845033 2.063260 1.469734 0.774052 0.735548 3.349583 2.547060 2.259736
IBRD only 4.552627 6.531120 NaN NaN NaN NaN 3.919042 3.979690 5.137853 6.397299 1.022979 7.551413 5.853799 4.207829 2.969559 2.087396 4.359198 1.848496 6.892785
IDA & IBRD total 4.221940 6.173057 NaN NaN 2.512190 3.024307 3.658491 3.673287 4.712318 5.988259 0.918636 7.098282 5.521533 3.898699 2.799339 1.891959 3.978712 NaN 6.469381
IDA blend NaN 5.376659 NaN -0.710684 1.451159 3.418550 3.381534 2.148244 2.517222 3.763408 NaN NaN NaN NaN NaN NaN 1.437250 NaN NaN
IDA only 3.911594 3.366364 NaN 2.394669 2.365708 3.285623 3.690823 3.567347 1.953227 3.810050 2.335829 NaN 4.161666 NaN 1.371975 2.485835 1.468509 NaN 4.130419
IDA total 2.931257 4.360767 NaN 0.818279 1.911844 3.372580 3.551482 2.852567 2.270238 3.809955 2.844121 NaN 4.082290 NaN 3.420412 2.034892 1.417367 NaN NaN
Late-demographic dividend 5.864196 7.171818 NaN NaN 3.185639 3.947374 4.553948 4.723489 6.213965 6.996462 2.007442 8.943840 6.481086 5.648286 4.836000 3.967578 5.907632 3.251905 8.060679
Latin America & Caribbean 2.636088 NaN NaN -1.464721 -0.983201 -0.096448 1.602726 1.610502 3.174449 4.588408 -3.069336 4.197969 NaN 0.236951 -1.048417 -0.512813 2.201701 -1.349221 3.941401
Latin America & Caribbean (excluding high income) 2.707959 NaN NaN -1.485114 -1.431809 0.152162 1.574726 1.841545 3.003455 4.339212 -2.777400 4.019260 NaN -0.476807 -0.248956 -0.300721 2.554035 -1.218279 3.750558
Latin America & the Caribbean (IDA & IBRD countries) 2.741665 4.914696 NaN -1.495859 -1.055154 -0.088144 1.638263 1.640870 3.269767 4.747493 -3.126702 4.307280 NaN 0.228854 -1.112357 -0.699221 2.149504 -1.577110 3.999716
Least developed countries: UN classification 4.671486 4.265811 NaN NaN NaN 3.000483 3.187232 3.511293 1.546743 3.756946 2.159848 NaN 5.686194 NaN 2.650190 2.636994 1.622708 NaN NaN
Low & middle income 4.301251 6.218748 NaN NaN 2.552660 3.199350 3.796234 3.884372 4.738712 6.047306 1.164822 7.164528 5.600981 NaN 3.247606 2.164053 4.184260 NaN 6.536596
Low income 2.047235 2.593023 NaN 0.616747 0.829367 3.138040 2.992189 3.672730 1.533134 4.435059 2.442771 NaN NaN NaN NaN 1.719409 -0.545077 NaN NaN
Lower middle income 3.345896 5.244889 NaN NaN NaN 4.110622 4.038235 3.638634 3.931188 5.795152 3.488441 NaN 5.345946 4.419576 3.040545 NaN 2.584403 NaN 5.690761
Middle East & North Africa 2.206531 5.984161 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -0.679126 NaN NaN 3.812837
Middle East & North Africa (excluding high income) 1.577537 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Sri Lanka NaN NaN 2.147756 3.301112 4.031031 4.020799 2.592074 8.556859 7.782192 7.356765 2.872274 NaN NaN NaN NaN NaN NaN NaN NaN
St. Kitts and Nevis NaN 2.615397 NaN NaN 1.113675 NaN NaN NaN NaN NaN NaN -1.201566 8.251016 -4.801578 1.039458 4.103935 9.068895 2.051888 1.664955
St. Lucia 4.109056 6.402726 NaN 2.895404 -1.373723 3.116200 -1.786647 -1.199390 2.770721 -0.737423 -2.113981 NaN -1.274588 3.552211 NaN -4.181879 NaN 1.392648 5.181987
St. Vincent and the Grenadines NaN NaN 0.626833 1.800603 NaN NaN NaN NaN NaN -3.408341 -2.177918 3.209884 2.313648 7.487034 6.166313 NaN 1.622223 2.750906 NaN
Sudan 5.046040 1.048059 NaN NaN NaN NaN NaN NaN NaN NaN 0.614039 NaN 4.606154 NaN 3.471838 NaN 3.406862 NaN 7.168390
Sweden -1.328732 3.911044 NaN NaN 3.422520 1.591300 0.386963 -1.021244 1.892057 5.089186 -5.988964 2.640983 2.407936 2.005478 1.741931 1.291108 4.567243 4.448727 4.100926
Switzerland 0.864917 2.072136 NaN NaN 0.080621 1.206826 0.687572 -0.060803 0.568370 1.935434 -3.436226 3.185585 2.456799 -0.699890 -0.592228 0.673372 3.354384 1.210872 3.338088
Syrian Arab Republic NaN 4.550445 NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.835319 NaN -1.291037 3.910633 2.966964 NaN NaN 1.556251
Tajikistan 5.587739 8.134894 NaN NaN 3.702944 NaN NaN 5.078168 5.005285 4.167536 1.625406 5.472651 4.445261 8.749554 8.765369 7.659791 6.558727 2.119100 4.810085
Tanzania 2.287084 4.730254 NaN NaN NaN 3.697752 NaN NaN NaN 3.054970 2.098472 5.135626 4.993347 NaN NaN NaN NaN NaN 1.512286
Thailand 1.190416 5.557914 NaN NaN NaN NaN 2.236676 6.746677 0.360143 6.990585 -1.189800 4.843453 3.513841 6.389352 5.271100 2.491413 3.374967 3.381731 4.332131
Timor-Leste 8.663269 NaN NaN NaN NaN -27.782775 -13.076199 2.672907 9.666770 -2.736282 -7.251930 NaN NaN NaN NaN NaN NaN NaN NaN
Togo 1.285631 -0.523068 NaN 2.480608 3.064125 3.195735 3.348159 3.744587 3.589335 3.285153 2.725844 -0.431539 -1.466396 2.230400 -3.557864 -4.348029 -3.671186 -0.633261 1.298187
Tonga NaN -0.963766 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.489519 2.821411 3.046016 2.852369 3.396311 NaN
Trinidad and Tobago NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 13.887503 7.475766 3.808628 6.630815 7.834096 NaN
Tunisia 3.143561 5.409427 NaN NaN -0.010601 NaN NaN 2.801660 NaN 2.361702 1.922136 5.653196 2.617042 3.908670 0.514958 2.878642 3.679354 4.902325 4.277502
Turkey NaN 8.135502 NaN NaN 4.404111 3.469254 6.748486 3.159241 NaN NaN NaN NaN NaN 4.101783 4.875505 -7.356015 5.033474 NaN 5.770173
Turkmenistan NaN NaN NaN NaN NaN NaN NaN 9.122199 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Uganda NaN 3.151422 0.531221 1.388912 1.751375 1.642910 0.147417 0.367852 5.718076 2.076684 NaN NaN NaN NaN NaN NaN -0.145857 NaN NaN
Ukraine 2.855418 12.953656 NaN 2.720932 NaN -1.144532 0.201174 0.486677 5.845342 NaN -14.420929 8.545879 3.455340 10.291323 6.250560 10.303539 6.971369 0.745472 8.027905
United Kingdom -1.252779 1.783713 NaN 1.210531 1.535548 2.280809 1.371396 NaN 0.662683 0.900491 -4.909741 1.562786 2.390644 2.845900 2.025052 2.150119 3.294397 2.873167 1.705659
United States NaN NaN NaN NaN NaN 1.800455 0.956719 1.459290 0.849705 1.681110 NaN NaN NaN NaN NaN NaN NaN NaN NaN
Uruguay NaN 5.052839 NaN NaN NaN NaN NaN NaN 4.813966 NaN NaN NaN 7.411146 0.870029 -7.750584 -4.013431 -2.282112 NaN 3.928853
Uzbekistan NaN NaN 3.546582 5.941724 6.132535 5.989421 6.326249 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Vanuatu 3.903753 NaN 2.290703 NaN -2.957877 0.074466 NaN NaN NaN NaN 0.875316 NaN NaN 1.668326 -7.393958 -5.643688 3.794022 -1.472782 NaN
Venezuela, RB NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -4.711195 6.975327 NaN NaN NaN NaN NaN NaN 8.036829
Vietnam 4.664703 NaN NaN NaN NaN NaN 4.216882 4.066065 5.095026 5.332085 4.365642 NaN NaN NaN NaN NaN NaN NaN NaN
Yemen, Rep. 0.843691 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.894399 3.231783 NaN NaN
Zambia 4.836691 4.206339 NaN NaN NaN NaN NaN NaN NaN NaN NaN 5.436059 4.384710 NaN NaN NaN 1.021417 NaN NaN
Zimbabwe NaN NaN NaN NaN NaN 0.004321 -0.338830 14.094516 NaN 17.332863 NaN NaN NaN NaN NaN NaN NaN NaN NaN

225 rows × 19 columns

In [19]:
df
Out[19]:
NY.GDP.PCAP.KD.ZG SE.XPD.TOTL.GB.ZS
country year
Arab World 2008 3.218634 13.184705
2004 6.956835 14.748710
Caribbean small states 2017 -0.342036 18.402540
2016 -2.411317 19.145120
2015 0.458455 20.051480
2014 0.043686 21.797490
2013 0.248173 20.573860
2012 0.671489 18.809260
2011 0.457713 18.581930
2010 0.812047 16.102940
2009 -4.165113 17.552840
2008 0.596398 19.119380
2007 2.547405 17.173050
2005 3.022336 14.269370
2004 3.255269 11.733020
2003 5.018441 13.636205
2002 2.929240 16.324570
2001 1.312019 16.078290
2000 3.086591 14.263860
1999 3.362789 11.230040
Central Europe and the Baltics 2015 4.026191 11.582670
2014 3.266528 11.274320
2013 1.554499 10.717420
2012 0.973169 10.958945
2011 3.573625 10.984860
2010 2.081673 11.064640
2009 -3.315405 11.076480
2008 4.129507 11.964125
2007 6.795452 11.267150
2006 6.844013 12.337945
... ... ... ...
Vanuatu 2015 -2.957877 12.996400
2014 0.074466 17.252460
2009 0.875316 18.723150
2008 3.903753 21.405630
2003 1.668326 44.801800
2002 -7.393958 36.409620
2001 -5.643688 40.077550
2000 3.794022 27.524190
1999 -1.472782 25.821780
Venezuela, RB 2009 -4.711195 20.663580
2007 6.975327 10.090050
2006 8.036829 9.344000
Vietnam 2013 4.216882 18.515510
2012 4.066065 18.785020
2011 5.095026 17.811270
2010 5.332085 17.114490
2009 4.365642 15.239000
2008 4.664703 18.054210
Yemen, Rep. 2008 0.843691 12.489240
2001 0.894399 30.321280
2000 3.231783 30.489280
Zambia 2008 4.836691 5.651800
2007 5.436059 6.227910
2005 4.384710 7.729730
2004 4.206339 10.584990
2000 1.021417 8.352620
Zimbabwe 2014 0.004321 30.007620
2013 -0.338830 28.660340
2012 14.094516 29.751090
2010 17.332863 8.720910

2615 rows × 2 columns

In [18]:
df.groupby(level='country').mean()
Out[18]:
NY.GDP.PCAP.KD.ZG SE.XPD.TOTL.GB.ZS
country
Afghanistan 2.192155 14.552950
Albania 5.989155 10.738108
Algeria 0.713953 11.428350
Andorra 2.848520 11.361450
Angola 4.946430 7.346747
Antigua and Barbuda -4.112221 10.356363
Arab World 5.087735 13.966708
Argentina 1.055096 15.169599
Armenia 5.063985 12.261011
Aruba -0.608947 20.413703
Australia 1.394218 13.515127
Austria 1.171528 10.698615
Azerbaijan 8.701821 11.552709
Bahamas, The 2.639570 18.922810
Bahrain 0.770211 9.061484
Bangladesh 4.165509 16.464213
Barbados 0.426897 17.059423
Belarus 4.326196 11.534985
Belgium 0.287837 11.918070
Belize 1.706751 19.792348
Benin 1.407605 18.791326
Bermuda -0.344593 12.232104
Bhutan 4.589720 17.726494
Bolivia 2.148281 19.482479
Botswana 0.138726 24.269573
Brazil 1.760443 13.157389
Brunei Darussalam -0.415009 9.063606
Bulgaria 4.703964 10.898110
Burkina Faso 2.778322 17.854332
Burundi -0.573329 15.446156
... ... ...
Sub-Saharan Africa (IDA & IBRD countries) 2.112920 16.883083
Sub-Saharan Africa (excluding high income) 2.114366 16.883083
Sudan 3.623055 8.926726
Sweden 1.832851 13.526502
Switzerland 0.990931 15.547659
Syrian Arab Republic 2.254763 18.077223
Tajikistan 5.458834 14.063681
Tanzania 3.438724 18.152010
Thailand 3.699373 20.460462
Timor-Leste -4.263463 7.512840
Togo 0.867579 20.357646
Tonga 2.106977 19.553927
Trinidad and Tobago 7.927362 12.664374
Tunisia 3.147112 25.127232
Turkey 3.834151 9.459883
Turkmenistan 9.122199 20.795510
Uganda 1.663001 12.410495
Ukraine 4.005570 13.504504
United Kingdom 1.319434 13.004543
United States 1.349456 13.220648
Upper middle income 4.795112 14.837659
Uruguay 1.003838 9.330258
Uzbekistan 5.587302 21.375184
Vanuatu -0.486172 25.679523
Venezuela, RB 3.433654 13.365877
Vietnam 4.623401 17.586583
World 1.663119 14.158663
Yemen, Rep. 1.656625 24.433267
Zambia 3.977043 7.709410
Zimbabwe 7.773217 24.284990

225 rows × 2 columns

In [22]:
df.reset_index().groupby('country').mean()
Out[22]:
NY.GDP.PCAP.KD.ZG SE.XPD.TOTL.GB.ZS
country
Afghanistan 2.192155 14.552950
Albania 5.989155 10.738108
Algeria 0.713953 11.428350
Andorra 2.848520 11.361450
Angola 4.946430 7.346747
Antigua and Barbuda -4.112221 10.356363
Arab World 5.087735 13.966708
Argentina 1.055096 15.169599
Armenia 5.063985 12.261011
Aruba -0.608947 20.413703
Australia 1.394218 13.515127
Austria 1.171528 10.698615
Azerbaijan 8.701821 11.552709
Bahamas, The 2.639570 18.922810
Bahrain 0.770211 9.061484
Bangladesh 4.165509 16.464213
Barbados 0.426897 17.059423
Belarus 4.326196 11.534985
Belgium 0.287837 11.918070
Belize 1.706751 19.792348
Benin 1.407605 18.791326
Bermuda -0.344593 12.232104
Bhutan 4.589720 17.726494
Bolivia 2.148281 19.482479
Botswana 0.138726 24.269573
Brazil 1.760443 13.157389
Brunei Darussalam -0.415009 9.063606
Bulgaria 4.703964 10.898110
Burkina Faso 2.778322 17.854332
Burundi -0.573329 15.446156
... ... ...
Sub-Saharan Africa (IDA & IBRD countries) 2.112920 16.883083
Sub-Saharan Africa (excluding high income) 2.114366 16.883083
Sudan 3.623055 8.926726
Sweden 1.832851 13.526502
Switzerland 0.990931 15.547659
Syrian Arab Republic 2.254763 18.077223
Tajikistan 5.458834 14.063681
Tanzania 3.438724 18.152010
Thailand 3.699373 20.460462
Timor-Leste -4.263463 7.512840
Togo 0.867579 20.357646
Tonga 2.106977 19.553927
Trinidad and Tobago 7.927362 12.664374
Tunisia 3.147112 25.127232
Turkey 3.834151 9.459883
Turkmenistan 9.122199 20.795510
Uganda 1.663001 12.410495
Ukraine 4.005570 13.504504
United Kingdom 1.319434 13.004543
United States 1.349456 13.220648
Upper middle income 4.795112 14.837659
Uruguay 1.003838 9.330258
Uzbekistan 5.587302 21.375184
Vanuatu -0.486172 25.679523
Venezuela, RB 3.433654 13.365877
Vietnam 4.623401 17.586583
World 1.663119 14.158663
Yemen, Rep. 1.656625 24.433267
Zambia 3.977043 7.709410
Zimbabwe 7.773217 24.284990

225 rows × 2 columns

In [27]:
%matplotlib inline
In [37]:
df.columns
Out[37]:
Index(['NY.GDP.PCAP.KD.ZG', 'SE.XPD.TOTL.GB.ZS'], dtype='object')
In [69]:
df.loc['Vanuatu'].sort_index().plot()
Out[69]:
<matplotlib.axes._subplots.AxesSubplot at 0x226a4a72198>
In [44]:
df.loc['Vanuatu']
Out[44]:
NY.GDP.PCAP.KD.ZG SE.XPD.TOTL.GB.ZS
year
2017 2.290703 11.78265
2015 -2.957877 12.99640
2014 0.074466 17.25246
2009 0.875316 18.72315
2008 3.903753 21.40563
2003 1.668326 44.80180
2002 -7.393958 36.40962
2001 -5.643688 40.07755
2000 3.794022 27.52419
1999 -1.472782 25.82178
In [51]:
df.loc['Vanuatu'].reset_index().astype('int')
Out[51]:
year NY.GDP.PCAP.KD.ZG SE.XPD.TOTL.GB.ZS
0 2017 2 11
1 2015 -2 12
2 2014 0 17
3 2009 0 18
4 2008 3 21
5 2003 1 44
6 2002 -7 36
7 2001 -5 40
8 2000 3 27
9 1999 -1 25
In [66]:
years = pd.to_datetime(df.loc['Vanuatu'].reset_index()['year'])
In [70]:
(df
 .loc['Vanuatu']
 .reset_index()
 .assign(year=lambda x: pd.to_datetime(x['year']))
 .plot(x='year', y=['NY.GDP.PCAP.KD.ZG', 'SE.XPD.TOTL.GB.ZS']))
Out[70]:
<matplotlib.axes._subplots.AxesSubplot at 0x226a4b854a8>
In [71]:
import matplotlib.pyplot as plt
%matplotlib inline
In [80]:
fig = plt.figure(figsize=(10, 6))
ax = plt.gca()
(df
 .loc['Vanuatu']
 .reset_index()
 .assign(year=lambda x: pd.to_datetime(x['year']))
 .plot(x='year', y=['NY.GDP.PCAP.KD.ZG', 'SE.XPD.TOTL.GB.ZS'], ax=ax))
ax.annotate('Oops', xy=(2002, 30), );
In [81]:
import numpy as np
In [88]:
np.linspace(-5, 5)
Out[88]:
array([-5.        , -4.79591837, -4.59183673, -4.3877551 , -4.18367347,
       -3.97959184, -3.7755102 , -3.57142857, -3.36734694, -3.16326531,
       -2.95918367, -2.75510204, -2.55102041, -2.34693878, -2.14285714,
       -1.93877551, -1.73469388, -1.53061224, -1.32653061, -1.12244898,
       -0.91836735, -0.71428571, -0.51020408, -0.30612245, -0.10204082,
        0.10204082,  0.30612245,  0.51020408,  0.71428571,  0.91836735,
        1.12244898,  1.32653061,  1.53061224,  1.73469388,  1.93877551,
        2.14285714,  2.34693878,  2.55102041,  2.75510204,  2.95918367,
        3.16326531,  3.36734694,  3.57142857,  3.7755102 ,  3.97959184,
        4.18367347,  4.3877551 ,  4.59183673,  4.79591837,  5.        ])
In [95]:
x = np.linspace(-5, 5)
plt.plot(x, x**2)
plt.annotate('Ooops', (0, 0), arrowprops={'arrowstyle': '->'}, 
             xytext=(0.5, 3))
plt.plot([0], [0], 'o')
Out[95]:
[<matplotlib.lines.Line2D at 0x226a62cd7f0>]
In [96]:
import sys
!"{sys.executable}" -m pip install seaborn
Requirement already satisfied: seaborn in c:\programdata\anaconda3\lib\site-packages (0.9.0)
Requirement already satisfied: scipy>=0.14.0 in c:\programdata\anaconda3\lib\site-packages (from seaborn) (1.1.0)
Requirement already satisfied: pandas>=0.15.2 in c:\programdata\anaconda3\lib\site-packages (from seaborn) (0.23.4)
Requirement already satisfied: matplotlib>=1.4.3 in c:\programdata\anaconda3\lib\site-packages (from seaborn) (2.2.3)
Requirement already satisfied: numpy>=1.9.3 in c:\programdata\anaconda3\lib\site-packages (from seaborn) (1.15.1)
Requirement already satisfied: python-dateutil>=2.5.0 in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.15.2->seaborn) (2.7.3)
Requirement already satisfied: pytz>=2011k in c:\programdata\anaconda3\lib\site-packages (from pandas>=0.15.2->seaborn) (2018.5)
Requirement already satisfied: cycler>=0.10 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=1.4.3->seaborn) (0.10.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=1.4.3->seaborn) (2.2.0)
Requirement already satisfied: six>=1.10 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=1.4.3->seaborn) (1.11.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\programdata\anaconda3\lib\site-packages (from matplotlib>=1.4.3->seaborn) (1.0.1)
Requirement already satisfied: setuptools in c:\programdata\anaconda3\lib\site-packages (from kiwisolver>=1.0.1->matplotlib>=1.4.3->seaborn) (40.2.0)
twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.
You are using pip version 10.0.1, however version 19.0.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
In [97]:
import seaborn as sns
In [105]:
sns.lmplot(x='NY.GDP.PCAP.KD.ZG', y='SE.XPD.TOTL.GB.ZS', hue='country', 
           data=df.loc[['Cyprus', 'Denmark']].reset_index())
C:\ProgramData\Anaconda3\lib\site-packages\scipy\stats\stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval
Out[105]:
<seaborn.axisgrid.FacetGrid at 0x226a7067b70>
In [119]:
sns.lmplot(x='NY.GDP.PCAP.KD.ZG', y='SE.XPD.TOTL.GB.ZS', hue='country',
           fit_reg=False,
           data=df.loc[['Cyprus', 'Denmark', 'China']].reset_index())
plt.savefig('Desktop/scatter.pdf')
In [128]:
x = np.linspace(-3, 3)
plt.subplot(2, 2, 1)
plt.plot(x, x ** 2, color='#ffaabb')
plt.subplot(222)
plt.plot(x, x ** 3, '--')
plt.subplot(223)
plt.plot(x, np.sqrt(x))
plt.subplot(224)
plt.plot(x, np.sin(x))
C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:7: RuntimeWarning: invalid value encountered in sqrt
  import sys
Out[128]:
[<matplotlib.lines.Line2D at 0x226abd166d8>]
In [ ]: