import csv
import collections
import itertools
fp = open('direct.csv')
# counts how many times each pair worked together
pairs = {}
# each element of `project` is a person
for project in (p[:-1].split(',') for p in fp):
project.sort()
# someone is alone here
if len(project) == 1:
continue
# iterate over each pair
for i in range(len(project)):
for j in range(i+1, len(project)):
pair = (project[i], project[j])
# increase `pairs` counter
pairs[pair] = pairs.get(pair, 0) + 1
from pprint import pprint
pprint(pairs)
““直接.csv“我从CAIDA网络拓扑(2x4000)得到的矩阵文件是这样的:
100102516;
1001037907;
1001055385;
1001055387;
1001058650;
100107690;
100109351;
100109615;
100109622;
100109990;
10012 23720;
10013 4686;
10015 10002;
10015 17945;
10015 18264;
10015 2512;
10015 9351;
10015 9997;
我必须用这个做一个邻接矩阵,但是当我必须这样做的时候,我最终得到了一个2gb的文件,而我对此无能为力,所以我使用了这段代码,这样python就可以处理所有的数据并对它做些什么(从邻接矩阵中去掉所有的0)
我的问题是,有没有可能知道一个人有多少联系。例如10010=7;10015=5,最高最低阶