{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-03-07T02:56:32.521682Z", "start_time": "2019-03-07T02:56:26.288106Z" } }, "outputs": [], "source": [ "import pandas as pd, numpy as np, json, os\n", "import networkx as nx\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "m=json.loads(open('json/member_timelines.json','r').read())" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "df=pd.DataFrame(m).groupby(['Name','Csoportok']).first()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Csoportok0Csoportok1SimpleTípusdurationendindexstart
NameCsoportok
ALBERT Álmos⏺️ Európa⏺️ Európa⏺️ EurópaAlbert AlmosBizottság14622012-12-20 00:00:0002008-12-19 00:00:00
🇨🇺 Kuba🇨🇺 Kuba🇨🇺 KubaAlbert AlmosOrszág14622012-12-20 00:00:0052008-12-19 00:00:00
🇩🇿 Algéria🇩🇿 Algéria🇩🇿 AlgériaAlbert AlmosOrszág14622012-12-20 00:00:0062008-12-19 00:00:00
🇫🇷 Franciaország🇫🇷 Franciaország🇫🇷 FranciaországAlbert AlmosOrszág12982012-12-20 00:00:0072009-06-01 00:00:00
🇲🇦 Marokkó🇲🇦 Marokkó🇲🇦 MarokkóAlbert AlmosOrszág14622012-12-20 00:00:0082008-12-19 00:00:00
🇷🇴 Kovászna🇷🇴 Kovászna🇷🇴 KovásznaAlbert AlmosMegye14622012-12-20 00:00:0042008-12-19 00:00:00
🌷 RMDSZ - Romániai Magyar Demokrata Szövetség🌷 RMDSZ - Romániai Magyar Demokrata Szövetség🌷 RMDSZ - Romániai Magyar Demokrata SzövetségAlbert AlmosPárt14622012-12-20 00:00:0092008-12-19 00:00:00
🔀 Állami ügyek🔀 Állami ügyek🔀 Állami ügyekAlbert AlmosBizottság8022011-03-01 00:00:0012008-12-19 00:00:00
\n", "
" ], "text/plain": [ " Csoportok0 \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa ⏺️ Európa \n", " 🇨🇺 Kuba 🇨🇺 Kuba \n", " 🇩🇿 Algéria 🇩🇿 Algéria \n", " 🇫🇷 Franciaország 🇫🇷 Franciaország \n", " 🇲🇦 Marokkó 🇲🇦 Marokkó \n", " 🇷🇴 Kovászna 🇷🇴 Kovászna \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség \n", " 🔀 Állami ügyek 🔀 Állami ügyek \n", "\n", " Csoportok1 \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa ⏺️ Európa \n", " 🇨🇺 Kuba 🇨🇺 Kuba \n", " 🇩🇿 Algéria 🇩🇿 Algéria \n", " 🇫🇷 Franciaország 🇫🇷 Franciaország \n", " 🇲🇦 Marokkó 🇲🇦 Marokkó \n", " 🇷🇴 Kovászna 🇷🇴 Kovászna \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség \n", " 🔀 Állami ügyek 🔀 Állami ügyek \n", "\n", " Simple \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa Albert Almos \n", " 🇨🇺 Kuba Albert Almos \n", " 🇩🇿 Algéria Albert Almos \n", " 🇫🇷 Franciaország Albert Almos \n", " 🇲🇦 Marokkó Albert Almos \n", " 🇷🇴 Kovászna Albert Almos \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség Albert Almos \n", " 🔀 Állami ügyek Albert Almos \n", "\n", " Típus \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa Bizottság \n", " 🇨🇺 Kuba Ország \n", " 🇩🇿 Algéria Ország \n", " 🇫🇷 Franciaország Ország \n", " 🇲🇦 Marokkó Ország \n", " 🇷🇴 Kovászna Megye \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség Párt \n", " 🔀 Állami ügyek Bizottság \n", "\n", " duration \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa 1462 \n", " 🇨🇺 Kuba 1462 \n", " 🇩🇿 Algéria 1462 \n", " 🇫🇷 Franciaország 1298 \n", " 🇲🇦 Marokkó 1462 \n", " 🇷🇴 Kovászna 1462 \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 1462 \n", " 🔀 Állami ügyek 802 \n", "\n", " end \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa 2012-12-20 00:00:00 \n", " 🇨🇺 Kuba 2012-12-20 00:00:00 \n", " 🇩🇿 Algéria 2012-12-20 00:00:00 \n", " 🇫🇷 Franciaország 2012-12-20 00:00:00 \n", " 🇲🇦 Marokkó 2012-12-20 00:00:00 \n", " 🇷🇴 Kovászna 2012-12-20 00:00:00 \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 2012-12-20 00:00:00 \n", " 🔀 Állami ügyek 2011-03-01 00:00:00 \n", "\n", " index \\\n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa 0 \n", " 🇨🇺 Kuba 5 \n", " 🇩🇿 Algéria 6 \n", " 🇫🇷 Franciaország 7 \n", " 🇲🇦 Marokkó 8 \n", " 🇷🇴 Kovászna 4 \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 9 \n", " 🔀 Állami ügyek 1 \n", "\n", " start \n", "Name Csoportok \n", "ALBERT Álmos ⏺️ Európa 2008-12-19 00:00:00 \n", " 🇨🇺 Kuba 2008-12-19 00:00:00 \n", " 🇩🇿 Algéria 2008-12-19 00:00:00 \n", " 🇫🇷 Franciaország 2009-06-01 00:00:00 \n", " 🇲🇦 Marokkó 2008-12-19 00:00:00 \n", " 🇷🇴 Kovászna 2008-12-19 00:00:00 \n", " 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 2008-12-19 00:00:00 \n", " 🔀 Állami ügyek 2008-12-19 00:00:00 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head(8)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\plotting\\_converter.py:129: FutureWarning: Using an implicitly registered datetime converter for a matplotlib plotting method. The converter was registered by pandas on import. Future versions of pandas will require you to explicitly register matplotlib converters.\n", "\n", "To register the converters:\n", "\t>>> from pandas.plotting import register_matplotlib_converters\n", "\t>>> register_matplotlib_converters()\n", " warnings.warn(msg, FutureWarning)\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def anneal(t,p=7):\n", " #pd.to_datetime('2020-01-01')-pd.to_datetime('1989-01-01')=11322\n", " return (2-(pd.to_datetime('2020-01-01')-pd.to_datetime(t)).days/11322)**p\n", " \n", "tanneal={}\n", "anneal2020=anneal(pd.to_datetime('2020'))\n", "for t in pd.date_range('1990','2020'):\n", " tanneal[t]=anneal(t)/anneal2020+0.1\n", "plt.plot(tanneal.keys(),tanneal.values())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "https://www.mrgeek.me/technology/datascience/measuring-influence-in-a-group-using-social-network-analysis/" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0 %\n", "3.5855145213338115 %\n", "7.171029042667623 %\n", "10.756543564001435 %\n", "14.342058085335246 %\n", "17.927572606669056 %\n", "21.51308712800287 %\n", "25.098601649336683 %\n", "28.684116170670492 %\n", "32.269630692004306 %\n", "35.85514521333811 %\n", "39.440659734671925 %\n", "43.02617425600574 %\n", "46.61168877733955 %\n", "50.197203298673365 %\n", "53.78271782000718 %\n", "57.368232341340985 %\n", "60.9537468626748 %\n", "64.53926138400861 %\n", "68.12477590534242 %\n", "71.71029042667622 %\n", "75.29580494801003 %\n", "78.88131946934385 %\n", "82.46683399067766 %\n", "86.05234851201148 %\n", "89.63786303334528 %\n", "93.2233775546791 %\n", "96.80889207601291 %\n" ] } ], "source": [ "tipusok={'Bizottság':['Bizottság'], \n", " 'Ország':['Ország'], \n", " 'Megye':['Párt','Bizottság','Ország'], \n", " 'Párt':['Bizottság','Ország']}\n", "edges={'Total':{'Total':{}}}\n", "members_set=df.reset_index()['Name'].unique()\n", "for iname,name in enumerate(members_set[:]):\n", " if iname%100==0: print(iname/len(members_set)*100,'%')\n", " sdf=df.loc[name]\n", " csoportok=sdf.index\n", " tipus=sdf['Típus'].values\n", " start=sdf['start'].astype('datetime64').dt.date.values\n", " end=sdf['end'].astype('datetime64').dt.date.values\n", " for t in pd.date_range(min(sdf['start']),max(sdf['end'])):\n", " td=t.date()\n", " for i in range(len(csoportok)):\n", " csop=csoportok[i]\n", " tip=tipus[i]\n", " if tip in tipusok:\n", " if start[i]\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 43\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 44\u001b[0m \u001b[1;31m#pr = nx.pagerank(G,weight='relative')\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 45\u001b[1;33m \u001b[0mpr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpagerank_numpy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mG\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mweight\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'relative'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mpersonalization\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mpersonalization\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 46\u001b[0m \u001b[0mmpr\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmedian\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 47\u001b[0m \u001b[0mnodes\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;34m'id'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'tipus'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mtipuskonverter\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pr'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mpr\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mmpr\u001b[0m\u001b[1;33m}\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mpr\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\networkx\\algorithms\\link_analysis\\pagerank_alg.py\u001b[0m in \u001b[0;36mpagerank_numpy\u001b[1;34m(G, alpha, personalization, weight, dangling)\u001b[0m\n\u001b[0;32m 328\u001b[0m weight=weight, dangling=dangling)\n\u001b[0;32m 329\u001b[0m \u001b[1;31m# use numpy LAPACK solver\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 330\u001b[1;33m \u001b[0meigenvalues\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0meigenvectors\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlinalg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0meig\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mM\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mT\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 331\u001b[0m \u001b[0mind\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0margmax\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0meigenvalues\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 332\u001b[0m \u001b[1;31m# eigenvector of largest eigenvalue is at ind, normalized\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\numpy\\linalg\\linalg.py\u001b[0m in \u001b[0;36meig\u001b[1;34m(a)\u001b[0m\n\u001b[0;32m 1303\u001b[0m \u001b[0m_assertRankAtLeast2\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1304\u001b[0m \u001b[0m_assertNdSquareness\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1305\u001b[1;33m \u001b[0m_assertFinite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1306\u001b[0m \u001b[0mt\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mresult_t\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_commonType\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1307\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\numpy\\linalg\\linalg.py\u001b[0m in \u001b[0;36m_assertFinite\u001b[1;34m(*arrays)\u001b[0m\n\u001b[0;32m 216\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0ma\u001b[0m \u001b[1;32min\u001b[0m \u001b[0marrays\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 217\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0misfinite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mall\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 218\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mLinAlgError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Array must not contain infs or NaNs\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 219\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 220\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_isEmpty2d\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mLinAlgError\u001b[0m: Array must not contain infs or NaNs" ] } ], "source": [ "network={}\n", "for tip in edges:\n", " for tip2 in edges[tip]:\n", " \n", " #create graph\n", " edgelist=[]\n", " for e in edges[tip][tip2]:\n", " edgelist.append((e[0],e[1],edges[tip][tip2][e]['anneal']))\n", " G=nx.Graph()\n", " G.add_weighted_edges_from(edgelist)\n", "\n", " links=[]\n", " for e in G.edges(data=True):\n", " links.append({'source':e[0],'target':e[1],\n", " 'value':e[2]['weight'],\n", " 'source_type':tipuskonverter[e[0]],\n", " 'target_type':tipuskonverter[e[1]]\n", " })\n", " links=order(links,tip,tip2)\n", " \n", " means=pd.DataFrame(links).groupby('source')['value'].median().to_dict()\n", " meant=pd.DataFrame(links).groupby('target')['value'].median().to_dict()\n", " nmeans=np.median(list(means.values()))\n", " nmeant=np.median(list(meant.values()))\n", " \n", " #recalculate with new weights\n", " edgelist=[(i['source'],i['target'],{'relative':i['value']/means[i['source']],'value':i['value']}) for i in links]+\\\n", " [(i['target'],i['source'],{'relative':i['value']/meant[i['target']],'value':i['value']}) for i in links]\n", " for link in links:\n", " #start writing then it becomes clear\n", " link['mean']=(link['value']*2)/(means[link['source']]+meant[link['target']])\n", " link['nmean']=1/ ((gmean*2)/(nmeant+nmeans)) #adjust for category importance amongst all categories\n", " link['wmean']=link['mean'] * link['nmean'] \n", " \n", " link['geometric']=(link['value']**2)/(means[link['source']]*meant[link['target']])\n", " link['ngeometric']=1/ ((gmean**2)/(nmeant*nmeans)) #adjust for category importance amongst all categories\n", " link['wgeometric']=link['geometric'] * link['ngeometric'] \n", " \n", " G=nx.DiGraph()\n", " G.add_weighted_edges_from(edgelist)\n", "\n", " pr = nx.pagerank(G,weight='value')\n", " mpr=np.median(list(pr.values()))\n", " nodes={i:{'id':i,'tipus':tipuskonverter[i],'pr':pr[i]/mpr} for i in pr}\n", " \n", " #save \n", " if tip not in network:network[tip]={}\n", " network[tip][tip2]={'nodes':nodes,'links':links}\n", " \n", " print(tip,tip2,len(nodes),'nodes and',len(links),'edges')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "network={}\n", "for tip in edges:\n", " for tip2 in edges[tip]:\n", " \n", " #create graph\n", " edgelist=[]\n", " for e in edges[tip][tip2]:\n", " edgelist.append((e[0],e[1],edges[tip][tip2][e]['anneal']))\n", " G=nx.Graph()\n", " G.add_weighted_edges_from(edgelist)\n", "\n", " links=[]\n", " for e in G.edges(data=True):\n", " links.append({'source':e[0],'target':e[1],\n", " 'value':e[2]['weight'],\n", " 'source_type':tipuskonverter[e[0]],\n", " 'target_type':tipuskonverter[e[1]]\n", " })\n", " links=order(links,tip,tip2)\n", " \n", " means=pd.DataFrame(links).groupby('source')['value'].median().to_dict()\n", " meant=pd.DataFrame(links).groupby('target')['value'].median().to_dict()\n", " nmeans=np.median(list(means.values()))\n", " nmeant=np.median(list(meant.values()))\n", " \n", " #recalculate with new weights\n", " edgelist=[(i['source'],i['target']) for i in links]+\\\n", " [(i['target'],i['source']) for i in links]\n", " personalization={(i['source'],i['target']):i['value']/means[i['source']] for i in links}\n", " personalization.update({(i['target'],i['source']):i['value']/meant[i['target']] for i in links})\n", " \n", " for link in links:\n", " #start writing then it becomes clear\n", " link['mean']=(link['value']*2)/(means[link['source']]+meant[link['target']])\n", " link['nmean']=1/ ((gmean*2)/(nmeant+nmeans)) #adjust for category importance amongst all categories\n", " link['wmean']=link['mean'] * link['nmean'] \n", " \n", " link['geometric']=(link['value']**2)/(means[link['source']]*meant[link['target']])\n", " link['ngeometric']=1/ ((gmean**2)/(nmeant*nmeans)) #adjust for category importance amongst all categories\n", " link['wgeometric']=link['geometric'] * link['ngeometric'] \n", " \n", " G=nx.DiGraph(G)\n", " \n", " #pr = nx.pagerank(G,weight='relative')\n", " pr = nx.pagerank_numpy(G,weight='relative',personalization=personalization)\n", " mpr=np.median(list(pr.values()))\n", " nodes={i:{'id':i,'tipus':tipuskonverter[i],'pr':pr[i]/mpr} for i in pr}\n", " \n", " #save \n", " if tip not in network:network[tip]={}\n", " network[tip][tip2]={'nodes':nodes,'links':links}\n", " \n", " print(tip,tip2,len(nodes),'nodes and',len(links),'edges')" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'🌷 RMDSZ - Romániai Magyar Demokrata Szövetség': 0.026020376055621356,\n", " '🇨🇺 Kuba': 0.004851837223449517,\n", " '🔱 PRM - Partidul România Mare': 0.023885780423054268,\n", " '🌹 PSD - Partidul Social Democrat': 0.02866590517298517,\n", " '🔶 PDL - Partidul Democrat Liberal': 0.025410842076793585,\n", " '🕊️ PC - Partidul Conservator': 0.022629494104069656,\n", " '🕊️ PUR-SL - Partidul Umanist din România': 0.02109308148107953,\n", " '📐 PNL - Partidul Naţional Liberal': 0.02829363599012981,\n", " '⚛️ PP-DD - Partidul Poporului Dan Diaconescu': 0.026036782065782155,\n", " '👤 Independent - Independent': 0.02866590517298517,\n", " '🕊️ ALDE - Partidul Alianţa Liberalilor şi Democraţilor': 0.02500273470585775,\n", " '🌹 PDSR - Partidul Democraţiei Sociale din România': 0.02134143625988721,\n", " '✳️ PNTCD - Partidul Naţional Ţărănesc Creştin Democrat': 0.019134569234901373,\n", " '🔶 PD - Partidul Democrat': 0.025380018584278727,\n", " '🍏 PMP - Partidul Mişcarea Populară': 0.024713674947327402,\n", " '🔷 USR - Uniunea Salvaţi România': 0.027824422098004557,\n", " '🇩🇿 Algéria': 0.004853606511873097,\n", " '🇲🇦 Marokkó': 0.005352259916013787,\n", " '🇫🇷 Franciaország': 0.008671617891148111,\n", " '🇨🇴 Kolumbia': 0.004851837223449503,\n", " '🇨🇾 Ciprus': 0.005352259916013787,\n", " '🇭🇷 Horvátország': 0.00460540716512123,\n", " '🇧🇪 Belgium': 0.009222852814504853,\n", " '🇭🇺 Magyarország': 0.006578708344279115,\n", " '🇸🇦 Szaúd-Arábia': 0.005112870557767754,\n", " '🇸🇾 Szíria': 0.004965311445326677,\n", " '🇹🇲 Türkmenisztán': 0.004360269045919821,\n", " '🇦🇪 Egyesült Arab Emírségek': 0.0036190047857517435,\n", " '🇪🇬 Egyiptom': 0.005352259916013787,\n", " '🇪🇸 Spanyolország': 0.007139949980872076,\n", " '🇲🇪 Montenegró': 0.004363854978700657,\n", " '🇳🇱 Hollandia': 0.004358441045613121,\n", " '🇺🇾 Uruguay': 0.005112697154705524,\n", " '🇧🇦 Bosznia-Hercegovina': 0.004853606511873097,\n", " '🇧🇭 Bahrein': 0.00460846839267169,\n", " '🇨🇳 Kína': 0.0070720823162426765,\n", " '🇮🇱 Izrael': 0.008600224037763232,\n", " '🇯🇵 Japán': 0.006595555315911505,\n", " '🇲🇳 Mongólia': 0.006469597636841371,\n", " '🇲🇰 Macedónia': 0.005611523961908439,\n", " '🇪🇪 Észtország': 0.0038682232582322542,\n", " '🇮🇳 India': 0.005729611587134898,\n", " '🇦🇱 Albánia': 0.005352259916013787,\n", " '🇰🇿 Kazahsztán': 0.0043577498817673746,\n", " '🇸🇩 Szudán': 0.0028782990358769767,\n", " '🇹🇭 Thaiföld': 0.00594196423736642,\n", " '🇮🇪 Írország': 0.00496595110259732,\n", " '🇺🇦 Ukrajna': 0.004852153715321538,\n", " '🇨🇬 Kongó': 0.0028782990358769767,\n", " '🇨🇮 Elefántcsontpart': 0.004854432196791548,\n", " '🇪🇨 Ecuador': 0.004860052081213451,\n", " '🇵🇰 Pakisztán': 0.00560188111595954,\n", " '🇲🇹 Málta': 0.00496595110259732,\n", " '🇴🇲 Omán': 0.003366172219062498,\n", " '🇧🇴 Bolívia': 0.005100036570201372,\n", " '🇨🇱 Chile': 0.005909575666991053,\n", " '🇵🇭 Fülöp-szigetek': 0.005470347541240245,\n", " '🇦🇺 Ausztrália': 0.007525641880665576,\n", " '🇬🇧 Egyesült Királyság': 0.006747419987406533,\n", " '🇰🇷 Dél-Korea': 0.007649612831447117,\n", " '🇵🇱 Lengyelország': 0.005941948300406605,\n", " '🇬🇷 Görögország': 0.0063295227260704015,\n", " '🇮🇹 Olaszország': 0.007863040576920954,\n", " '🇵🇹 Portugália': 0.006194223152794109,\n", " '🇧🇾 Fehéroroszország': 0.004603527658239433,\n", " '🇨🇦 Kanada': 0.007822126208752719,\n", " '🇱🇻 Lettország': 0.004936359287902891,\n", " '🇱🇺 Luxemburg': 0.005352259916013787,\n", " '🇦🇷 Argentína': 0.0066762941648204,\n", " '🇱🇧 Libanon': 0.007223375290531563,\n", " '🇲🇾 Malajzia': 0.005352259916013787,\n", " '🇦🇿 Azerbajdzsán': 0.005111101269344156,\n", " '🇩🇰 Dánia': 0.00504381465076994,\n", " '🇹🇳 Tunézia': 0.004853606511873097,\n", " '🇵🇪 Peru': 0.005104060569261915,\n", " '🇸🇪 Svédország': 0.005625806399754334,\n", " '🇩🇪 Németország': 0.00844175492695767,\n", " '🇻🇪 Venezuela': 0.006886220927420233,\n", " 'Más ország': 0.006626314720329489,\n", " '🇲🇽 Mexikó': 0.005105829857685512,\n", " '🇳🇴 Norvégia': 0.0047159237555387465,\n", " '🇫🇮 Finnország': 0.006335072965167173,\n", " '🇧🇬 Bulgária': 0.0059575629830048845,\n", " '🇮🇷 Irán': 0.0065430083224719575,\n", " '🇦🇹 Ausztria': 0.005731756079313629,\n", " '🇬🇳 Guinea': 0.005106655542603961,\n", " '🇹🇷 Törökország': 0.00660629772238702,\n", " '🇸🇰 Szlovákia': 0.005361445108274767,\n", " '🇮🇩 Indonézia': 0.005352259916013787,\n", " '🇱🇹 Litvánia': 0.0054319514644931045,\n", " '🇷🇺 Orosz Föderáció': 0.004607828735401047,\n", " '🇸🇬 Szingapúr': 0.0036178469580575396,\n", " '🇿🇦 Dél-Afrika': 0.005632847099836578,\n", " '🇧🇷 Brazília': 0.005438992164575344,\n", " '🇨🇷 Costa Rica': 0.005104060569261915,\n", " '🇨🇿 Czechia': 0.005373583053941927,\n", " '🇻🇳 Vietnam': 0.004608002138463273,\n", " '🇮🇸 Izland': 0.00460846839267169,\n", " '🇮🇶 Irak': 0.0037252508143495017,\n", " '🇵🇦 Panama': 0.005230363052252317,\n", " 'Jugoszlávia': 0.003630706648621571,\n", " '🇸🇮 Szlovénia': 0.005939414857139631,\n", " '🇱🇰 Srí Lanka': 0.0026277824672143674,\n", " '🇿🇲 Zambia': 0.00323578174580261,\n", " '🦅 UNPR - Uniunea Naţională pentru Progresul României': 0.02189994236045929,\n", " '🕊️ PUNR - Partidul Unităţii Naţionale Române': 0.01364973400867147,\n", " '⚪️ FSN - Frontul Salvării Naţionale': 0.008204589961143531,\n", " '🍀 PER - Partidul Ecologist Român': 0.0074018460306266584,\n", " '⚪️ FDSN - Frontul Democrat al Salvarii Nationale': 0.0014349393491836775,\n", " '🌹 PSDR - Partidul Social Democrat Român': 0.010370561835785996,\n", " '🍀 PDAR - Partidul Democrat Agrar din România': 0.006006174594913806,\n", " '🔘 ULB - Uniunea Liberală \"Brătianu\"': 0.0017273469664676232,\n", " '🍀 MER - Mişcarea Ecologistă din România': 0.006278374462774228,\n", " '🍀 FER - Federaţia Ecologistă Română': 0.0017230149201793493,\n", " '👤 Minorități - Minorități': 0.00378511104627142,\n", " '🔘 PRNR - Partidul Reconstrucţiei Naţionale din România': 0.002825780772883024,\n", " '🔘 PDM - Partidul Democrat al Muncii': 0.0014413965445653446,\n", " '🔘 PLS - Partidul Liber Schimbist': 0.0033344501896417867,\n", " '🔘 AUR - Alianţa pentru Unitatea Românilor': 0.0025024171713600397,\n", " '📐 PNL-CD - Partidul Naţional Liberal': 0.002483252925169643,\n", " '🔘 GDC - Gruparea Democratică de Centru': 0.0024743958214082248,\n", " '🇯🇴 Jordánia': 0.005103750706493799,\n", " '🇬🇪 Grúzia': 0.004864187945185547,\n", " '🇦🇲 Örményország': 0.004475128669637516,\n", " '🇰🇼 Kuvait': 0.004853723359435228,\n", " '🔘 FC - Forţa Civică': 0.003857539943896385,\n", " '🇸🇳 Szenegál': 0.002629789826356994,\n", " 'Republica Franceză - Senat': 0.0018807282700510262,\n", " '🇨🇭 Svájc': 0.003370495576231763,\n", " '🇶🇦 Katar': 0.003615941209928061,\n", " '🔘 PAR - Partidul Alternativa României': 0.003049619761496559,\n", " '🔘 PTLDR - Partidul Tineretului Liber Democrat din România': 0.002247439020088131,\n", " 'fosta Republică Iugoslavă Macedonia': 0.0013816197347149696}" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pr" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'🌷 RMDSZ - Romániai Magyar Demokrata Szövetség': 0.02602197879845518,\n", " '🇨🇺 Kuba': 0.004851567098252788,\n", " '🔱 PRM - Partidul România Mare': 0.023887275115809462,\n", " '🌹 PSD - Partidul Social Democrat': 0.028667651982590595,\n", " '🔶 PDL - Partidul Democrat Liberal': 0.025412426811281016,\n", " '🕊️ PC - Partidul Conservator': 0.022630898755092572,\n", " '🕊️ PUR-SL - Partidul Umanist din România': 0.021094396090370244,\n", " '📐 PNL - Partidul Naţional Liberal': 0.028295364791388777,\n", " '⚛️ PP-DD - Partidul Poporului Dan Diaconescu': 0.02603840281696248,\n", " '👤 Independent - Independent': 0.028667651982590595,\n", " '🕊️ ALDE - Partidul Alianţa Liberalilor şi Democraţilor': 0.025004265415305805,\n", " '🌹 PDSR - Partidul Democraţiei Sociale din România': 0.021342768877524346,\n", " '✳️ PNTCD - Partidul Naţional Ţărănesc Creştin Democrat': 0.019135757785766924,\n", " '🔶 PD - Partidul Democrat': 0.025381549293726775,\n", " '🍏 PMP - Partidul Mişcarea Populară': 0.024715187648429053,\n", " '🔷 USR - Uniunea Salvaţi România': 0.027826132890917076,\n", " '🇩🇿 Algéria': 0.004853336386676385,\n", " '🇲🇦 Marokkó': 0.005351953774124172,\n", " '🇫🇷 Franciaország': 0.008671185690833359,\n", " '🇨🇴 Kolumbia': 0.004851567098252788,\n", " '🇨🇾 Ciprus': 0.005351953774124172,\n", " '🇭🇷 Horvátország': 0.004605155048270961,\n", " '🇧🇪 Belgium': 0.009222402605843649,\n", " '🇭🇺 Magyarország': 0.0065783301690037115,\n", " '🇸🇦 Szaúd-Arábia': 0.005112582424224587,\n", " '🇸🇾 Szíria': 0.004965041320129961,\n", " '🇹🇲 Türkmenisztán': 0.004360034937416001,\n", " '🇦🇪 Egyesült Arab Emírségek': 0.0036188247022872597,\n", " '🇪🇬 Egyiptom': 0.005351953774124172,\n", " '🇪🇸 Spanyolország': 0.00713953578890378,\n", " '🇲🇪 Montenegró': 0.004363620870196835,\n", " '🇳🇱 Hollandia': 0.004358206937109295,\n", " '🇺🇾 Uruguay': 0.00511240902116236,\n", " '🇧🇦 Bosznia-Hercegovina': 0.004853336386676385,\n", " '🇧🇭 Bahrein': 0.004608216275821426,\n", " '🇨🇳 Kína': 0.00707166812427438,\n", " '🇮🇱 Izrael': 0.00859977382910203,\n", " '🇯🇵 Japán': 0.006595177140636101,\n", " '🇲🇳 Mongólia': 0.006469219461565965,\n", " '🇲🇰 Macedónia': 0.005611199811672374,\n", " '🇪🇪 Észtország': 0.003868025166421323,\n", " '🇮🇳 India': 0.0057292874368988335,\n", " '🇦🇱 Albánia': 0.005351953774124172,\n", " '🇰🇿 Kazahsztán': 0.004357515773263552,\n", " '🇸🇩 Szudán': 0.00287817297745184,\n", " '🇹🇭 Thaiföld': 0.005941622078783914,\n", " '🇮🇪 Írország': 0.004965680977400611,\n", " '🇺🇦 Ukrajna': 0.00485188359012482,\n", " '🇨🇬 Kongó': 0.00287817297745184,\n", " '🇨🇮 Elefántcsontpart': 0.00485416207159483,\n", " '🇪🇨 Ecuador': 0.004859781956016735,\n", " '🇵🇰 Pakisztán': 0.005601574974069924,\n", " '🇲🇹 Málta': 0.004965680977400611,\n", " '🇴🇲 Omán': 0.0033660101439444657,\n", " '🇧🇴 Bolívia': 0.0050997484366582125,\n", " '🇨🇱 Chile': 0.005909233508408549,\n", " '🇵🇭 Fülöp-szigetek': 0.005470041399350632,\n", " '🇦🇺 Ausztrália': 0.007525227688697271,\n", " '🇬🇧 Egyesült Királyság': 0.00674704181213113,\n", " '🇰🇷 Dél-Korea': 0.007649180631132364,\n", " '🇵🇱 Lengyelország': 0.005941606141824104,\n", " '🇬🇷 Görögország': 0.006329162559141445,\n", " '🇮🇹 Olaszország': 0.007862590368259752,\n", " '🇵🇹 Portugália': 0.006193862985865157,\n", " '🇧🇾 Fehéroroszország': 0.004603275541389162,\n", " '🇨🇦 Kanada': 0.007821676000091517,\n", " '🇱🇻 Lettország': 0.004936089162706171,\n", " '🇱🇺 Luxemburg': 0.005351953774124172,\n", " '🇦🇷 Argentína': 0.00667591598954499,\n", " '🇱🇧 Libanon': 0.007222961098563262,\n", " '🇲🇾 Malajzia': 0.005351953774124172,\n", " '🇦🇿 Azerbajdzsán': 0.00511081313580099,\n", " '🇩🇰 Dánia': 0.005043544525573226,\n", " '🇹🇳 Tunézia': 0.004853336386676385,\n", " '🇵🇪 Peru': 0.005103772435718748,\n", " '🇸🇪 Svédország': 0.005625482249518275,\n", " '🇩🇪 Németország': 0.008441286709950027,\n", " '🇻🇪 Venezuela': 0.00688582474379838,\n", " 'Más ország': 0.006625954553400526,\n", " '🇲🇽 Mexikó': 0.005105541724142345,\n", " '🇳🇴 Norvégia': 0.004715671638688481,\n", " '🇫🇮 Finnország': 0.006334712798238216,\n", " '🇧🇬 Bulgária': 0.005957220824422372,\n", " '🇮🇷 Irán': 0.006542630147196558,\n", " '🇦🇹 Ausztria': 0.0057314319290775705,\n", " '🇬🇳 Guinea': 0.00510636740906079,\n", " '🇹🇷 Törökország': 0.006605919547111614,\n", " '🇸🇰 Szlovákia': 0.005361138966385151,\n", " '🇮🇩 Indonézia': 0.005351953774124172,\n", " '🇱🇹 Litvánia': 0.005431645322603493,\n", " '🇷🇺 Orosz Föderáció': 0.004607576618550775,\n", " '🇸🇬 Szingapúr': 0.0036176668745930584,\n", " '🇿🇦 Dél-Afrika': 0.005632522949600517,\n", " '🇧🇷 Brazília': 0.005438686022685735,\n", " '🇨🇷 Costa Rica': 0.005103772435718748,\n", " '🇨🇿 Czechia': 0.005373276912052315,\n", " '🇻🇳 Vietnam': 0.004607750021613002,\n", " '🇮🇸 Izland': 0.004608216275821426,\n", " '🇮🇶 Irak': 0.0037250707308850214,\n", " '🇵🇦 Panama': 0.005230074918709154,\n", " 'Jugoszlávia': 0.003630526565157089,\n", " '🇸🇮 Szlovénia': 0.005939072698557119,\n", " '🇱🇰 Srí Lanka': 0.00262767441713568,\n", " '🇿🇲 Zambia': 0.003235637679031026,\n", " '🦅 UNPR - Uniunea Naţională pentru Progresul României': 0.021901292986442913,\n", " '🕊️ PUNR - Partidul Unităţii Naţionale Române': 0.013650562392608045,\n", " '⚪️ FSN - Frontul Salvării Naţionale': 0.008205058178151176,\n", " '🍀 PER - Partidul Ecologist Român': 0.007402260222594942,\n", " '⚪️ FDSN - Frontul Democrat al Salvarii Nationale': 0.0014349573575301233,\n", " '🌹 PSDR - Partidul Social Democrat Român': 0.010371174119565198,\n", " '🍀 PDAR - Partidul Democrat Agrar din România': 0.006006498745149857,\n", " '🔘 ULB - Uniunea Liberală \"Brătianu\"': 0.0017273829831605206,\n", " '🍀 MER - Mişcarea Ecologistă din România': 0.00627871662135673,\n", " '🍀 FER - Federaţia Ecologistă Română': 0.0017230509368722433,\n", " '👤 Minorități - Minorități': 0.0037852731213894415,\n", " '🔘 PRNR - Partidul Reconstrucţiei Naţionale din România': 0.002825888822961708,\n", " '🔘 PDM - Partidul Democrat al Muncii': 0.0014414145529117928,\n", " '🔘 PLS - Partidul Liber Schimbist': 0.0033345942564133643,\n", " '🔘 AUR - Alianţa pentru Unitatea Românilor': 0.002502507213092278,\n", " '📐 PNL-CD - Partidul Naţional Liberal': 0.002483342966901878,\n", " '🔘 GDC - Gruparea Democratică de Centru': 0.0024744858631404643,\n", " '🇯🇴 Jordánia': 0.005103462572950642,\n", " '🇬🇪 Grúzia': 0.004863917819988829,\n", " '🇦🇲 Örményország': 0.004474894561133693,\n", " '🇰🇼 Kuvait': 0.004853453234238512,\n", " '🔘 FC - Forţa Civică': 0.0038577200273608612,\n", " '🇸🇳 Szenegál': 0.002629681776278309,\n", " 'Republica Franceză - Senat': 0.0018806742450116795,\n", " '🇨🇭 Svájc': 0.0033703335011137283,\n", " '🇶🇦 Katar': 0.003615761126463582,\n", " '🔘 PAR - Partidul Alternativa României': 0.0030497458199216865,\n", " '🔘 PTLDR - Partidul Tineretului Liber Democrat din România': 0.002247511053473924,\n", " 'fosta Republică Iugoslavă Macedonia': 0.0013816017263685201}" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pr" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7125488" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "open('json/plotter_csoportok.json','w').write(json.dumps(network))" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "------ Bizottság Bizottság ------\n", " ------by value------\n", "⏫ Gazdaság, ipar ➿ Infrastruktúra, energia, kommunikáció 6.3815852945016855 24729.79357480326\n", "🔀 Állami ügyek 🚻 Munka, szociális és családi ügyek 2.770967662287746 22988.38533477297\n", "🚻 Munka, szociális és családi ügyek 🔄 Közigazgatás, környezetvédelem 2.721019701321973 22978.028420834973\n", "🔀 Állami ügyek 🔄 Közigazgatás, környezetvédelem 2.503839384409689 21451.718851576206\n", "⏺️ Európa ⏫ Gazdaság, ipar 2.5424269852369554 20345.724792275054\n", " ------by geometric------\n", "⏫ Gazdaság, ipar ➿ Infrastruktúra, energia, kommunikáció 6.3815852945016855 24729.79357480326\n", "➿ Infrastruktúra, energia, kommunikáció 🔄 Közigazgatás, környezetvédelem 5.214994533327797 19676.21109542993\n", "🛃 Biztonság 🌐 Külpolitika, diaszpóra 4.753380998921376 7375.420321314794\n", "➿ Infrastruktúra, energia, kommunikáció 🛃 Biztonság 4.555302494401599 10766.304167201957\n", "🔀 Állami ügyek 🚹 Emberi jogok, kisebbségek 3.503115673195939 16457.96633761585\n", " ------common------\n", "('🔠 Oktatás, tudomány, sport', '🚻 Munka, szociális és családi ügyek')\n", "('➿ Infrastruktúra, energia, kommunikáció', '🔄 Közigazgatás, környezetvédelem')\n", "('⏫ Gazdaság, ipar', '➿ Infrastruktúra, energia, kommunikáció')\n", "('🔀 Állami ügyek', '🔄 Közigazgatás, környezetvédelem')\n", "('🔀 Állami ügyek', '🚻 Munka, szociális és családi ügyek')\n", "('🔀 Állami ügyek', '🚹 Emberi jogok, kisebbségek')\n", "('⏫ Gazdaság, ipar', '⏺️ Európa')\n", "('🔄 Közigazgatás, környezetvédelem', '🚻 Munka, szociális és családi ügyek')\n", "\n", "------ Ország Ország ------\n", " ------by value------\n", "🇲🇦 Marokkó 🇫🇷 Franciaország 11.556748483650424 13181.936535653984\n", "🇨🇳 Kína 🇮🇹 Olaszország 26.50394646393255 12451.171035058527\n", "🇨🇳 Kína 🇰🇷 Dél-Korea 20.079686797979093 12257.336594856633\n", "🇸🇮 Szlovénia 🇨🇿 Czechia 31.97214452609909 11531.93966238356\n", "🇨🇦 Kanada 🇮🇹 Olaszország 19.60198093939084 11267.420423988084\n", " ------by geometric------\n", "🇸🇮 Szlovénia 🇨🇿 Czechia 31.97214452609909 11531.93966238356\n", "🇨🇳 Kína 🇮🇹 Olaszország 26.50394646393255 12451.171035058527\n", "🇸🇮 Szlovénia 🇸🇰 Szlovákia 25.307823696917435 9988.484227807989\n", "🇦🇿 Azerbajdzsán 🇹🇷 Törökország 23.74877770870401 7367.774933254753\n", "🇨🇳 Kína 🇱🇧 Libanon 22.232883485319345 10347.379256902952\n", " ------common------\n", "('🇪🇸 Spanyolország', '🇮🇹 Olaszország')\n", "('🇨🇳 Kína', '🇮🇹 Olaszország')\n", "('🇨🇳 Kína', '🇱🇧 Libanon')\n", "('🇨🇿 Czechia', '🇭🇷 Horvátország')\n", "('🇨🇳 Kína', '🇰🇷 Dél-Korea')\n", "('🇨🇿 Czechia', '🇸🇮 Szlovénia')\n", "('🇯🇵 Japán', '🇰🇷 Dél-Korea')\n", "('🇨🇦 Kanada', '🇮🇹 Olaszország')\n", "('🇧🇬 Bulgária', '🇨🇦 Kanada')\n", "\n", "------ Megye Párt ------\n", " ------by value------\n", "🇷🇴 Bukarest 🌹 PSD - Partidul Social Democrat 87.86548483252996 18120.20076267836\n", "🇷🇴 Bukarest 📐 PNL - Partidul Naţional Liberal 116.76550645203189 16771.311820854728\n", "🇷🇴 Iași 🌹 PSD - Partidul Social Democrat 33.02456945564692 12441.217436905392\n", "🇷🇴 Prahova 🌹 PSD - Partidul Social Democrat 27.766357873987648 11810.660221959935\n", "🇷🇴 Bákó 🌹 PSD - Partidul Social Democrat 21.836376567942505 10787.24092443513\n", " ------by geometric------\n", "🇷🇴 Kovászna 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 207.69454948102333 9797.30941356248\n", "🇷🇴 Hargita 🌷 RMDSZ - Romániai Magyar Demokrata Szövetség 201.5719535421448 10399.149668255362\n", "🇷🇴 Bukarest 🔷 USR - Uniunea Salvaţi România 164.67544708760144 8672.33137038993\n", "🇷🇴 Bukarest 📐 PNL - Partidul Naţional Liberal 116.76550645203189 16771.311820854728\n", "🇷🇴 Bukarest 🌹 PSD - Partidul Social Democrat 87.86548483252996 18120.20076267836\n", " ------common------\n", "('🇷🇴 Hargita', '🌷 RMDSZ - Romániai Magyar Demokrata Szövetség')\n", "('🇷🇴 Prahova', '🌹 PSD - Partidul Social Democrat')\n", "('🇷🇴 Bukarest', '🔶 PDL - Partidul Democrat Liberal')\n", "('🇷🇴 Bukarest', '📐 PNL - Partidul Naţional Liberal')\n", "('🇷🇴 Iași', '🌹 PSD - Partidul Social Democrat')\n", "('🇷🇴 Bukarest', '🔷 USR - Uniunea Salvaţi România')\n", "('🇷🇴 Bákó', '🌹 PSD - Partidul Social Democrat')\n", "('🇷🇴 Bukarest', '🌹 PSD - Partidul Social Democrat')\n", "('🇷🇴 Buzău', '🌹 PSD - Partidul Social Democrat')\n", "('🇷🇴 Kovászna', '🌷 RMDSZ - Romániai Magyar Demokrata Szövetség')\n", "\n", "------ Megye Bizottság ------\n", " ------by value------\n", "🇷🇴 Bukarest 🎦 Művészet, média 22.480999780043156 10830.883350022794\n", "🇷🇴 Bukarest 🌐 Külpolitika, diaszpóra 12.986946971080092 10579.55306360625\n", "🇷🇴 Bukarest 🚻 Munka, szociális és családi ügyek 8.218809658888784 9216.778071435285\n", "🇷🇴 Bukarest 🔀 Állami ügyek 5.3483053008896615 8566.916323345182\n", "🇷🇴 Bukarest ⏫ Gazdaság, ipar 4.978623249388054 7691.277865978298\n", " ------by geometric------\n", "🇷🇴 Bukarest 🎦 Művészet, média 22.480999780043156 10830.883350022794\n", "🇷🇴 Diaszpóra 🌐 Külpolitika, diaszpóra 18.445381759710465 5805.441164838362\n", "🇷🇴 Bukarest 🌐 Külpolitika, diaszpóra 12.986946971080092 10579.55306360625\n", "🇷🇴 Iași 🔠 Oktatás, tudomány, sport 12.159777108937417 6536.234817559425\n", "🇷🇴 Bukarest 🚻 Munka, szociális és családi ügyek 8.218809658888784 9216.778071435285\n", " ------common------\n", "('⏫ Gazdaság, ipar', '🇷🇴 Bukarest')\n", "('🇷🇴 Kolozs', '🔠 Oktatás, tudomány, sport')\n", "('⏫ Gazdaság, ipar', '🇷🇴 Prahova')\n", "('🇷🇴 Bukarest', '🚻 Munka, szociális és családi ügyek')\n", "('🇷🇴 Bukarest', '🔠 Oktatás, tudomány, sport')\n", "('🇷🇴 Bukarest', '🌐 Külpolitika, diaszpóra')\n", "('🇷🇴 Bukarest', '🎦 Művészet, média')\n", "('🇷🇴 Iași', '🔠 Oktatás, tudomány, sport')\n", "('⏺️ Európa', '🇷🇴 Bukarest')\n", "('♿️ Egészségügy', '🇷🇴 Bukarest')\n", "('🇷🇴 Brassó', '🔀 Állami ügyek')\n", "('🇷🇴 Diaszpóra', '🌐 Külpolitika, diaszpóra')\n", "('⏫ Gazdaság, ipar', '🇷🇴 Brassó')\n", "('🇷🇴 Bukarest', '🔀 Állami ügyek')\n", "\n", "------ Megye Ország ------\n", " ------by value------\n", "🇷🇴 Bukarest 🇫🇷 Franciaország 33.79416821490717 8832.854055227512\n", "🇷🇴 Bukarest 🇮🇱 Izrael 42.60015947037402 6865.587562850804\n", "🇷🇴 Bukarest 🇭🇺 Magyarország 19.513911848759772 5057.887444764805\n", "🇷🇴 Bihar 🇭🇺 Magyarország 44.85370531668689 5031.32116195008\n", " ------by geometric------\n", "🇷🇴 Bihar 🇭🇺 Magyarország 44.85370531668689 5031.32116195008\n", "🇷🇴 Bukarest 🇮🇱 Izrael 42.60015947037402 6865.587562850804\n", "🇷🇴 Bukarest 🇫🇷 Franciaország 33.79416821490717 8832.854055227512\n", "🇷🇴 Bukarest 🇭🇺 Magyarország 19.513911848759772 5057.887444764805\n", " ------common------\n", "('🇮🇱 Izrael', '🇷🇴 Bukarest')\n", "('🇭🇺 Magyarország', '🇷🇴 Bihar')\n", "('🇫🇷 Franciaország', '🇷🇴 Bukarest')\n", "('🇭🇺 Magyarország', '🇷🇴 Bukarest')\n", "\n", "------ Párt Bizottság ------\n", " ------by value------\n", "🌹 PSD - Partidul Social Democrat 🔄 Közigazgatás, környezetvédelem 36.40802788855921 42239.99235359756\n", "🌹 PSD - Partidul Social Democrat 🔀 Állami ügyek 34.710301451591356 41245.38678919411\n", "🌹 PSD - Partidul Social Democrat ⏫ Gazdaság, ipar 32.21093082827018 38825.25051682637\n", "🌹 PSD - Partidul Social Democrat 🚻 Munka, szociális és családi ügyek 38.34153667308945 36639.44709672594\n", "🌹 PSD - Partidul Social Democrat 🌐 Külpolitika, diaszpóra 20.223508582210595 26609.84873658999\n", " ------by geometric------\n", "🌹 PSD - Partidul Social Democrat 🚻 Munka, szociális és családi ügyek 38.34153667308945 36639.44709672594\n", "🌹 PSD - Partidul Social Democrat 🔄 Közigazgatás, környezetvédelem 36.40802788855921 42239.99235359756\n", "🌹 PSD - Partidul Social Democrat 🔀 Állami ügyek 34.710301451591356 41245.38678919411\n", "🌹 PSD - Partidul Social Democrat ⏫ Gazdaság, ipar 32.21093082827018 38825.25051682637\n", "📐 PNL - Partidul Naţional Liberal 🚻 Munka, szociális és családi ügyek 23.68707567074256 24626.697635912107\n", " ------common------\n", "('🌹 PSD - Partidul Social Democrat', '🚰 Mezőgazdaság, erdők')\n", "('🌹 PSD - Partidul Social Democrat', '🔀 Állami ügyek')\n", "('🌹 PSD - Partidul Social Democrat', '🚻 Munka, szociális és családi ügyek')\n", "('📐 PNL - Partidul Naţional Liberal', '🚰 Mezőgazdaság, erdők')\n", "('🌹 PSD - Partidul Social Democrat', '🔄 Közigazgatás, környezetvédelem')\n", "('📐 PNL - Partidul Naţional Liberal', '🔀 Állami ügyek')\n", "('📐 PNL - Partidul Naţional Liberal', '🚻 Munka, szociális és családi ügyek')\n", "('⏫ Gazdaság, ipar', '🌹 PSD - Partidul Social Democrat')\n", "('🌐 Külpolitika, diaszpóra', '🌹 PSD - Partidul Social Democrat')\n", "('🌹 PSD - Partidul Social Democrat', '🔠 Oktatás, tudomány, sport')\n", "('⏫ Gazdaság, ipar', '📐 PNL - Partidul Naţional Liberal')\n", "('🌹 PSD - Partidul Social Democrat', '💹 Pénzügy')\n", "\n", "------ Párt Ország ------\n", " ------by value------\n", "🌹 PSD - Partidul Social Democrat 🇸🇰 Szlovákia 45.10801169781598 17944.01375094544\n", "🌹 PSD - Partidul Social Democrat 🇮🇳 India 38.85123522399486 17053.20113581174\n", "🌹 PSD - Partidul Social Democrat 🇦🇺 Ausztrália 37.482481510540815 16729.29882776785\n", "🌹 PSD - Partidul Social Democrat 🇸🇪 Svédország 31.34425985660645 16718.547390287873\n", "📐 PNL - Partidul Naţional Liberal 🇫🇷 Franciaország 29.683676361468503 16342.327291171045\n", " ------by geometric------\n", "🌹 PSD - Partidul Social Democrat 🇸🇰 Szlovákia 45.10801169781598 17944.01375094544\n", "🌹 PSD - Partidul Social Democrat 🇮🇳 India 38.85123522399486 17053.20113581174\n", "🌹 PSD - Partidul Social Democrat 🇦🇺 Ausztrália 37.482481510540815 16729.29882776785\n", "🌹 PSD - Partidul Social Democrat 🇫🇮 Finnország 34.97970645866033 15480.64388179426\n", "⚪️ FSN - Frontul Salvării Naţionale 🇮🇹 Olaszország 33.45423676527179 9730.475995199435\n", " ------common------\n", "('🇦🇺 Ausztrália', '🌹 PSD - Partidul Social Democrat')\n", "('🇸🇪 Svédország', '🌹 PSD - Partidul Social Democrat')\n", "('🇪🇸 Spanyolország', '🌹 PSD - Partidul Social Democrat')\n", "('🇫🇮 Finnország', '🌹 PSD - Partidul Social Democrat')\n", "('🇮🇳 India', '🌹 PSD - Partidul Social Democrat')\n", "('🇫🇷 Franciaország', '📐 PNL - Partidul Naţional Liberal')\n", "('🇸🇰 Szlovákia', '🌹 PSD - Partidul Social Democrat')\n", "('🇭🇷 Horvátország', '🌹 PSD - Partidul Social Democrat')\n", "('🇱🇺 Luxemburg', '🌹 PSD - Partidul Social Democrat')\n", "('🇿🇦 Dél-Afrika', '🌹 PSD - Partidul Social Democrat')\n" ] } ], "source": [ "N=5000\n", "n=15\n", "key='geometric'\n", "for tip in tipusok:\n", " for tip2 in tipusok[tip]:\n", " print('\\n------',tip,tip2,'------')\n", " g=[i for i in network[tip][tip2]['links'] if i['value']>N]\n", " \n", " print(' ------by value------')\n", " nset1=set()\n", " for k,i in enumerate(sorted(g, key=lambda k: k['value'],reverse=True)[:n]):\n", " if k<5:\n", " print(i['source'],i['target'],i[key],i['value'])\n", " nset1.add(tuple(np.sort([i['source'],i['target']])))\n", " \n", " print(' ------by '+key+'------')\n", " nset2=set()\n", " for k,i in enumerate(sorted(g, key=lambda k: k[key],reverse=True)[:n]):\n", " if k<5:\n", " print(i['source'],i['target'],i[key],i['value'])\n", " nset2.add(tuple(np.sort([i['source'],i['target']])))\n", " \n", " print(' ------common------')\n", " for i in nset1.intersection(nset2):\n", " print(i)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plots" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }