首页 > 解决方案 > 如何从 csv 文件创建二分图

问题描述

我正在尝试从类似于此的 excel 文件创建二分图:

     xyz pqr tsu
abc  -1   1  -2 
def  -2  -1   2 
ghj   2  -1   1

首先,我尝试了以下方法:

import networkx as nx
import matplotlib.pyplot as plt
import pandas as pd
import xlrd

import numpy as np
from numpy import genfromtxt

df = pd.read_csv (r'C:\Users\Dragos\Desktop\networkx project\proiect.csv')
G=nx.read_edgelist('proiect.csv', create_using=nx.Graph(), nodetype=str)
nx.draw(G)
plt.show()

但我不断收到错误无法将边缘数据(['工资,碳','税,移民,医疗保健,投票,药物,直流','州,堕胎,UBI,财富税'])转换为字典。

现在我很茫然,不知道如何继续。

标签: pythonnetworkxbipartite

解决方案


首先是加载熊猫数据框

pd.read_csv(path, sep=',') 

在这里查看更多。

然后您需要创建一个新的数据框,使其遵循这种格式

>>> df
   weight  cost  0  b
0       4     7  A  D
1       7     1  B  A
2      10     9  C  E

G=nx.from_pandas_dataframe(df, 0, 'b', ['weight', 'cost'])

也检查一下


推荐阅读