1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Intermediate Network Analysis in Python

Connected

Cvičení

Sdílené členství: transpozice

Jak sis možná všiml/a, při převodu grafu do řídké matice přijdeš o metadata. Teď se naučíš, jak tato metadata doplnit zpět, aby sis mohl/a zjistit více o sdíleném členství.

user_matrix vypočítaná v předchozím cvičení je přednahraná v tvém pracovním prostředí.

Hodí se ti zde funkce np.where(). Funguje takto: máš-li pole, například a = [1, 5, 9, 5], a chceš získat indexy, kde je hodnota rovna 5, použiješ idxs = np.where(a == 5). Vrátí ti pole zabalené v n-tici: (array([1, 3]),). Pro přístup k těmto indexům pak indexuješ do n-tice pomocí idxs[0].

Pokyny

100 XP
  • Zjisti jména lidí, kteří byli členy největšího počtu klubů.
    • Nejprve vypočítej diag pomocí metody .diagonal() na user_matrix.
    • Poté pomocí np.where() vyber indexy, kde diag se rovná diag.max(). Výsledkem je n-tice: nezapomeň přistoupit k relevantním indexům pomocí indexování [0].
    • Projdi indices v cyklu a vypiš každý index i z people_nodes pomocí připravené funkce print().
  • Nastav diagonálu na nulu a převeď ji do formátu „coordinate matrix". Tento kód je už za tebe připravený v odpovědi.
  • Najdi dvojice uživatelů, kteří sdíleli členství v největším počtu klubů.
    • Pomocí np.where() přistup k indexům, kde users_coo.data se rovná users_coo.data.max().
    • Projdi indices2 v cyklu a pro každý index idx vypiš příslušné záznamy z users_coo.row a users_coo.col přes people_nodes.