Hi, I ran PageRank on my graph, and now I need to get the top-k highest scored. Is there any faster / more straightforward way of achieving this than by creating and then sorting a new dictionary, as in the following method?
def top_k_page_rank(g, pagerank_prop, k): pr_sorted_scores = sort_pagerank_scores(g, pagerank_prop) top_k = list(pr_sorted_scores.items())[0:k] return top_k def sort_pagerank_scores(g, pagerank_prop): pr_scores = dict() for v in g.vertices(): pr_scores[v] = g.vertex_properties[pagerank_prop][v] pr_sorted_scores = {k: v for k, v in sorted(pr_scores.items(), key=lambda item: item[1], reverse=True)} return pr_sorted_scores Thanks, Ioana -- Sent from: https://nabble.skewed.de/ _______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool