我有一个包含两列的数据集,每列代表事故的参与者(姓名,姓氏)。所以我根据这些数据制作了一个图表,现在我需要计算每个参与者的边数,即一个人与其他人发生意外的次数。
我为此使用networkx
lib,它有.number_of_edges()
方法,但每个参与者的数量为1。
df = pd.read_excel('выборка.xlsx', index_col='№ страхового события')
df.columns = ['part_1', 'part_2']
G=nx.from_pandas_dataframe(df, 'part_1', 'part_2')
for i in G:
for j in G:
if G.number_of_edges(j, i) > 0:
print(G.number_of_edges(j, i))
我做错了什么?
答案 0 :(得分:2)
您的代码没有按照您的想法执行。您正在计算参与者(i)与特定其他人(j)发生事故的次数(可能是1)。
如果您想要每个参与者,任何其他参与者发生意外的次数,您可以使用
for i in G:
print(len(G.edges(i)))