微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从具有多列的 Pandas 数据框中定义 NetworkX 图

如何解决如何从具有多列的 Pandas 数据框中定义 NetworkX 图

我有一个 Pandas 数据框,它根据某些特征捕获发票是否已作为争议提出的信息。我想在此之上运行社区检测以搜索模式。但对如何从中创建图表感到困惑。尝试如下:

import pandas as pd
import networkx as nx
from itertools import combinations as comb
data = [[4321,543,765,3,2014,54,1,0],[2321,657,654,7,2017,59,1]]
df = pd.DataFrame(data,columns = ['NetValueInDocCurr','NetWeight','Volume','BillingItems','FISCALYEAR','TaxAmtInDocCurr','Description_Bulk','Description_Car_Care','Description_Packed','Description_Services','Final_dispute'])
edges = set(comb(df.columns,2))

G = nx.Graph() 
G.add_edges_from(edges)

我目前的假设是将列名称定义为节点,将所有列之间的成对关系定义为边,将列值定义为边权重。这是正确的方法吗?如果是,对定义权重的代码有什么帮助吗?我的想法是从一个完整的图开始,并使用 Girvan-Newman 之类的除法方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。