ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

有向图链路分析(networkx)

2022-02-02 16:01:18  阅读:151  来源: 互联网

标签:有向图 datatu bianzonglist list2 values networkx 链路 print import


import networkx as nx
import matplotlib.pyplot as plt
import pandas as pd
from igraph import *
import igraph as ig
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

datatu=pd.read_excel('2015年.xlsx',sheet_name='2015年')
row = datatu.iloc[:, 0].size
jiedianlist = []
G = nx.MultiDiGraph()
for i in range(row):
    jiedian2 = datatu.iloc[i, 0]
    jiedian3 = datatu.iloc[i, 1]
    G.add_node(jiedian2)
    G.add_node(jiedian3)
    G.add_edge(jiedian2,jiedian3)

path = dict(nx.all_pairs_shortest_path(G))
#print(path)
values = list(path.values())
#print(values)
bianzonglist=[]
for i in values:
    #print(i)
    bianlist=list(i.values())
    for bian in bianlist:
        #print(bian)
        bian2='+'.join(bian)
        bianzonglist.append(bian2)
print(bianzonglist)

def delete2(list2):
    #删除重叠字符串
    for i in list2:
        for j in list2:
            if j in i and len(j)<len(i):
                list2.remove(j)
            else:
                pass
            continue
    for i in list2:
        if list2.count(i) > 1:
            list2.remove(i)
    return list2

bianzonglist2=delete2(bianzonglist)
bianzonglist3=delete2(bianzonglist2)


with open('有向图链路.txt', "w+") as f:
    for lianlu in bianzonglist3:
        f.write(lianlu)
        f.write('\r\n')

标签:有向图,datatu,bianzonglist,list2,values,networkx,链路,print,import
来源: https://blog.csdn.net/zxhy0123/article/details/122769939

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有