From b84dddecf2eab982941704a43663cf643be027d3 Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Mon, 30 Mar 2015 15:01:56 -0400 Subject: Archive old code --- experiments/old_stuff/distances.py | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 experiments/old_stuff/distances.py (limited to 'experiments/old_stuff/distances.py') diff --git a/experiments/old_stuff/distances.py b/experiments/old_stuff/distances.py new file mode 100644 index 0000000..1834d36 --- /dev/null +++ b/experiments/old_stuff/distances.py @@ -0,0 +1,42 @@ +import networkx as nx +import sys +from collections import Counter + + +def build_graph(filename): + g = nx.Graph() + with open(filename) as fh: + fh.readline() + for line in fh: + i, j = map(lambda x: int(float(x)), line.strip().split(",")[1:]) + g.add_edge(i, j) + return g + + +def distances(g): + victims = set() + with open("vics.csv") as fh: + fh.readline() + for line in fh: + victims.add(int(line.strip().split(",")[1])) + level = 0 + seen = {} + nextlevel = {v: 1 for v in victims} + while level <= 3: + thislevel = nextlevel + nextlevel = {} + for v in thislevel: + if v not in seen: + seen[v] = level + nextlevel.update(g[v]) + level += 1 + return seen + + +if __name__ == "__main__": + g = build_graph(sys.argv[1]) + print g.number_of_nodes(), g.number_of_edges() + cnt = Counter() + for v, d in distances(g).iteritems(): + cnt[d] += 1 + print cnt.most_common() -- cgit v1.2.3-70-g09d2