如何从 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()

但我一直收到错误无法转换边缘数据(['wage,carbon','tax,imigration,healthcare,voting,drugs,dc','statehood,abortion,UBI,wealthtax'])到字典。

现在我不知所措,不知道如何继续。

解决方法

首先加载pandas数据框

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

查看更多here

然后您需要创建一个新的数据框,使其遵循 this format

>>> 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,'b',['weight','cost'])

同时检查 this