ccdf_parent = ccdf_from_data(deg_parent) ccdf_traced = {} for k in top_list: ccdf_traced[k] = ccdf_from_data(deg_traced[k]) ccdf_samp["type"] = "infected" ccdf_parent["type"] = "parent" tables = [ccdf_samp, ccdf_parent] for k, tb in ccdf_traced.items(): tb["type"] = "traced_%d" % k tables += [ccdf_traced[k]] pk = pk_from_data(deg_list) avg_deg = np.mean(deg_list) rk_norm = EoN.get_PGFDPrime(pk)(1) qk = dict((k - 1, k * p / avg_deg) for k, p in pk.items()) rk = dict((k - 2, k * (k - 1) * p / rk_norm) for k, p in pk.items()) pk_ccdf = ccdf_from_pk(pk) qk_ccdf = ccdf_from_pk(qk) rk_ccdf = ccdf_from_pk(rk) pk_ccdf["type"] = "pk" qk_ccdf["type"] = "qk" rk_ccdf["type"] = "rk" tables += [pk_ccdf, qk_ccdf, rk_ccdf] table = pd.concat(tables, ignore_index=True) table.to_csv(OUTPUT, sep="\t", index=False)
tree = sim_data_list[gid]["tree"] isolated, parents, traced = run_contact_tracing(G, sim_data, tree, n=n, **interv_params) isolated_list += [isolated] parent_list += [parents] traced_list += [traced] isolated = pd.concat(isolated_list, ignore_index=True) traced = pd.concat(traced_list, ignore_index=True) parents = pd.concat(parent_list, ignore_index=True) avg_deg = np.mean(list(G.degree), axis=0)[1] rk_norm = EoN.get_PGFDPrime(EoN.get_Pk(G))(1) pk = dict(sorted(EoN.get_Pk(G).items())) qk = dict((k - 1, k * p / avg_deg) for k, p in pk.items()) rk = dict((k - 2, k * (k - 1) * p / rk_norm) for k, p in pk.items()) pk_ccdf = ccdf_from_pk(pk) qk_ccdf = ccdf_from_pk(qk) rk_ccdf = ccdf_from_pk(rk) nmax = parents["n"].max() parents_ccdf = ccdf_from_data(parents[parents["n"] == nmax]["deg"].values) isolated_ccdf = ccdf_from_data( isolated[isolated["n"] == nmax]["deg"].values) traced_n_ccdf = {} for n in nlist: