In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

In [115]:
Data = pd.read_csv('DatosBancoMundial5.csv')
datos = Data.values[:,4:].astype(np.float64)
for i in range(5):
    datos[i,:] = datos[i,:] - np.mean(datos[i,:])

In [103]:
Data


Out[103]:
Time Time Code Series Name Series Code Colombia [COL] Latin America & Caribbean [LCN] Afghanistan [AFG] Albania [ALB] Algeria [DZA] Angola [AGO] ... Uruguay [URY] Uzbekistan [UZB] Vanuatu [VUT] Venezuela, RB [VEN] Vietnam [VNM] West Bank and Gaza [PSE] World [WLD] Yemen, Rep. [YEM] Zambia [ZMB] Zimbabwe [ZWE]
0 2016 YR2016 Total tax rate (% of commercial profits) IC.TAX.TOTL.CP.ZS 69.800000 45.821212 48.300000 36.500000 65.600000 48.000000 ... 41.800000 38.100000 8.500000 64.700000 39.400000 15.300000 40.551323 33.100000 18.600000 32.800000
1 2016 YR2016 Cost of business start-up procedures (% of GNI... IC.REG.COST.PC.ZS 7.500000 30.557576 19.900000 10.100000 11.100000 27.500000 ... 22.500000 3.200000 44.300000 136.400000 4.600000 46.900000 25.949474 82.200000 33.700000 119.200000
2 2016 YR2016 Unemployment, female (% of female labor force)... SL.UEM.TOTL.FE.ZS 13.058000 9.949513 12.368000 16.136000 19.684000 7.068000 ... 11.206000 8.745000 6.157000 7.636000 2.107000 27.934000 6.178867 28.374001 7.706000 4.668000
3 2016 YR2016 Unemployment, male (% of male labor force) (mo... SL.UEM.TOTL.MA.ZS 7.429000 6.727447 7.722000 16.469000 9.202000 6.186000 ... 5.704000 8.997000 4.744000 6.400000 2.244000 24.173000 5.464462 13.073000 7.375000 5.487000
4 2016 YR2016 Ratio of female to male labor force participat... SL.TLF.CACT.FM.ZS 72.604847 67.527627 22.960331 66.248318 23.969858 77.585963 ... 72.744665 63.395067 76.630413 65.695692 88.722599 26.067661 67.668014 35.423165 86.347736 89.137578

5 rows × 227 columns


In [116]:
print np.shape(datos), type(datos[0,0])


(5, 223) <type 'numpy.float64'>

In [117]:
Cova = np.cov(datos)

In [118]:
vals, vecs = np.linalg.eig(Cova)

In [119]:
vals


Out[119]:
array([ 1153.05465923,   305.31103811,   373.56309746,    71.04135595,
           4.27342312])

In [120]:
vecs


Out[120]:
array([[  2.13820341e-01,   9.66977886e-01,   1.38080487e-01,
         -9.75951262e-03,   8.55346232e-03],
       [  9.76498437e-01,  -2.14321181e-01,  -9.29434474e-03,
          1.68995803e-02,  -1.20520582e-02],
       [  1.34408573e-02,  -4.16882759e-02,   1.79028285e-01,
         -7.86664227e-01,   5.89228053e-01],
       [ -5.48162881e-04,  -6.05489076e-03,   5.13482776e-02,
         -5.90983303e-01,  -8.05024923e-01],
       [  2.34671299e-02,   1.31322603e-01,  -9.72707367e-01,
         -1.77531082e-01,   6.72812081e-02]])

In [ ]: