In [ ]:
Load matrx distance & find 3 closest nbh

In [1]:
import numpy as np
import pandas as pd

In [2]:


In [3]:
df.head()


Out[3]:
Unnamed: 0 Arrêté fédéral concernant la contribution de la Suisse en faveur de la Bulgarie et de la Roumanie au titre de la réduction des disparités économiques et sociales dans l'Union européenne élargie Renforcement du Traité sur la non-prolifération des armes nucléaires Une zone exempte d'armes nucléaires au coeur de l'Europe Boycott de la liste des terroristes établie par l'ONU Ratification du Protocole de l'ONU sur les armes à feu et mise en oeuvre de l'instrument Thalmann Accompagner la construction du nouvel Etat du Kosovo Renonciation à des projets d'aide au développement menés par l'Etat Meilleure protection juridique pour les défenseurs de l'environnement La Suisse doit oeuvrer pour préserver l'unité de la Macédoine ... Améliorer le taux de réussite aux examens de fin d'apprentissage Lutte contre les prix élevés en Suisse. Présenter une version élaguée de la révision de la loi sur les cartels Droit international par la Suisse. Appliquer les règles adoptées pour la Crimée annexée aux territoires occupés de Palestine Simplifier la répartition et le contrôle des aides financières destinées aux associations de consommateurs Analyser l'efficacité des mesures prises pour renforcer la sécurité de l'approvisionnement Préciser les bases légales qui régissent l'allocation d'aides financières aux associations de consommateurs Ne pas défavoriser les étables à stabulation entravée Dettes envers l'assurance-chômage. Que les chefs des entreprises en faillite passent à la caisse Dépistage du cancer Arrêté fédéral relatif à l’initiative populaire «Réparation de l’injustice faite aux enfants placés de force et aux victimes de mesures de coercition prises à des fins d’assistance (initiative sur la réparation)»
0 Arrêté fédéral concernant la contribution de l... 0.000000 1.101664 0.636730 0.165047 0.501155 0.117361 1.042010 1.088768 0.403387 ... 1.136008 0.843345 0.117354 1.060109 1.097282 1.044066 1.064944 1.200885 1.042011 1.327827
1 Renforcement du Traité sur la non-prolifératio... 1.101664 0.000000 0.484605 0.961878 0.635254 1.001474 0.777685 0.671942 0.777686 ... 0.897662 0.389596 1.001481 0.525031 0.691294 0.471200 0.437764 0.975930 0.777689 1.127814
2 Une zone exempte d'armes nucléaires au coeur d... 0.636730 0.484605 0.000000 0.495625 0.282416 0.534985 0.696957 0.607673 0.333240 ... 0.829313 0.366388 0.534993 0.599530 0.628203 0.563082 0.573395 0.914193 0.696960 1.075022
3 Boycott de la liste des terroristes établie pa... 0.165047 0.961878 0.495625 0.000000 0.383158 0.047686 0.898202 0.947079 0.238341 ... 1.003123 0.704252 0.047692 0.913005 0.956306 0.894747 0.920446 1.072789 0.898201 1.212353
4 Ratification du Protocole de l'ONU sur les arm... 0.501155 0.635254 0.282416 0.383158 0.000000 0.413958 0.793255 0.851640 0.303756 ... 0.912133 0.379118 0.413962 0.672787 0.862266 0.638139 0.638412 0.990422 0.793258 1.140677

5 rows × 3416 columns


In [4]:
names = df['Unnamed: 0']
df.drop('Unnamed: 0',axis=1,inplace=True)
df.head()


Out[4]:
Arrêté fédéral concernant la contribution de la Suisse en faveur de la Bulgarie et de la Roumanie au titre de la réduction des disparités économiques et sociales dans l'Union européenne élargie Renforcement du Traité sur la non-prolifération des armes nucléaires Une zone exempte d'armes nucléaires au coeur de l'Europe Boycott de la liste des terroristes établie par l'ONU Ratification du Protocole de l'ONU sur les armes à feu et mise en oeuvre de l'instrument Thalmann Accompagner la construction du nouvel Etat du Kosovo Renonciation à des projets d'aide au développement menés par l'Etat Meilleure protection juridique pour les défenseurs de l'environnement La Suisse doit oeuvrer pour préserver l'unité de la Macédoine Promouvoir l'Observatoire du Conseil de l'Europe pour le respect des droits de l'homme en Palestine et en Israël ... Améliorer le taux de réussite aux examens de fin d'apprentissage Lutte contre les prix élevés en Suisse. Présenter une version élaguée de la révision de la loi sur les cartels Droit international par la Suisse. Appliquer les règles adoptées pour la Crimée annexée aux territoires occupés de Palestine Simplifier la répartition et le contrôle des aides financières destinées aux associations de consommateurs Analyser l'efficacité des mesures prises pour renforcer la sécurité de l'approvisionnement Préciser les bases légales qui régissent l'allocation d'aides financières aux associations de consommateurs Ne pas défavoriser les étables à stabulation entravée Dettes envers l'assurance-chômage. Que les chefs des entreprises en faillite passent à la caisse Dépistage du cancer Arrêté fédéral relatif à l’initiative populaire «Réparation de l’injustice faite aux enfants placés de force et aux victimes de mesures de coercition prises à des fins d’assistance (initiative sur la réparation)»
0 0.000000 1.101664 0.636730 0.165047 0.501155 0.117361 1.042010 1.088768 0.403387 0.062863 ... 1.136008 0.843345 0.117354 1.060109 1.097282 1.044066 1.064944 1.200885 1.042011 1.327827
1 1.101664 0.000000 0.484605 0.961878 0.635254 1.001474 0.777685 0.671942 0.777686 1.047556 ... 0.897662 0.389596 1.001481 0.525031 0.691294 0.471200 0.437764 0.975930 0.777689 1.127814
2 0.636730 0.484605 0.000000 0.495625 0.282416 0.534985 0.696957 0.607673 0.333240 0.581501 ... 0.829313 0.366388 0.534993 0.599530 0.628203 0.563082 0.573395 0.914193 0.696960 1.075022
3 0.165047 0.961878 0.495625 0.000000 0.383158 0.047686 0.898202 0.947079 0.238341 0.102184 ... 1.003123 0.704252 0.047692 0.913005 0.956306 0.894747 0.920446 1.072789 0.898201 1.212353
4 0.501155 0.635254 0.282416 0.383158 0.000000 0.413958 0.793255 0.851640 0.303756 0.452757 ... 0.912133 0.379118 0.413962 0.672787 0.862266 0.638139 0.638412 0.990422 0.793258 1.140677

5 rows × 3415 columns


In [5]:
df.head()


Out[5]:
Arrêté fédéral concernant la contribution de la Suisse en faveur de la Bulgarie et de la Roumanie au titre de la réduction des disparités économiques et sociales dans l'Union européenne élargie Renforcement du Traité sur la non-prolifération des armes nucléaires Une zone exempte d'armes nucléaires au coeur de l'Europe Boycott de la liste des terroristes établie par l'ONU Ratification du Protocole de l'ONU sur les armes à feu et mise en oeuvre de l'instrument Thalmann Accompagner la construction du nouvel Etat du Kosovo Renonciation à des projets d'aide au développement menés par l'Etat Meilleure protection juridique pour les défenseurs de l'environnement La Suisse doit oeuvrer pour préserver l'unité de la Macédoine Promouvoir l'Observatoire du Conseil de l'Europe pour le respect des droits de l'homme en Palestine et en Israël ... Améliorer le taux de réussite aux examens de fin d'apprentissage Lutte contre les prix élevés en Suisse. Présenter une version élaguée de la révision de la loi sur les cartels Droit international par la Suisse. Appliquer les règles adoptées pour la Crimée annexée aux territoires occupés de Palestine Simplifier la répartition et le contrôle des aides financières destinées aux associations de consommateurs Analyser l'efficacité des mesures prises pour renforcer la sécurité de l'approvisionnement Préciser les bases légales qui régissent l'allocation d'aides financières aux associations de consommateurs Ne pas défavoriser les étables à stabulation entravée Dettes envers l'assurance-chômage. Que les chefs des entreprises en faillite passent à la caisse Dépistage du cancer Arrêté fédéral relatif à l’initiative populaire «Réparation de l’injustice faite aux enfants placés de force et aux victimes de mesures de coercition prises à des fins d’assistance (initiative sur la réparation)»
0 0.000000 1.101664 0.636730 0.165047 0.501155 0.117361 1.042010 1.088768 0.403387 0.062863 ... 1.136008 0.843345 0.117354 1.060109 1.097282 1.044066 1.064944 1.200885 1.042011 1.327827
1 1.101664 0.000000 0.484605 0.961878 0.635254 1.001474 0.777685 0.671942 0.777686 1.047556 ... 0.897662 0.389596 1.001481 0.525031 0.691294 0.471200 0.437764 0.975930 0.777689 1.127814
2 0.636730 0.484605 0.000000 0.495625 0.282416 0.534985 0.696957 0.607673 0.333240 0.581501 ... 0.829313 0.366388 0.534993 0.599530 0.628203 0.563082 0.573395 0.914193 0.696960 1.075022
3 0.165047 0.961878 0.495625 0.000000 0.383158 0.047686 0.898202 0.947079 0.238341 0.102184 ... 1.003123 0.704252 0.047692 0.913005 0.956306 0.894747 0.920446 1.072789 0.898201 1.212353
4 0.501155 0.635254 0.282416 0.383158 0.000000 0.413958 0.793255 0.851640 0.303756 0.452757 ... 0.912133 0.379118 0.413962 0.672787 0.862266 0.638139 0.638412 0.990422 0.793258 1.140677

5 rows × 3415 columns


In [6]:
dic_ = {'source':[],"target":[], "value":[]}
matrix_dim = df.shape
print(matrix_dim)
columns = df.columns
for index in range(matrix_dim[0]) :
    for column in range(index,matrix_dim[1]) :
        if df[columns[column]][index] !=0 :
            dic_['source'] +=[names[index]]
            dic_['target'] +=[columns[column]]
            dic_['value'] +=[df[columns[column]][index]]


(3415, 3415)

In [7]:
frame = pd.DataFrame(dic_)
frame.shape


Out[7]:
(5827865, 3)

In [8]:
frame.to_json('linksSubject.json')

In [ ]: