为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 CSV 文件中导入 csv 格式的邻接矩阵主题标签网络?

如何在 CSV 文件中导入 csv 格式的邻接矩阵主题标签网络?

智慧大石 2023-10-18 15:56:05
我的主题标签共现网络以 CSV 格式存储为邻接矩阵,如下所示。,#A,#B,#C,#D,#E,#F,#G,#H,#I,#J,#K#A,0,1,1,0,1,1,1,1,0,1,0#B,1,0,0,0,1,1,1,1,0,1,0#C,1,0,0,0,1,1,1,1,0,1,0...然后我使用此页面作为参考, 从 CSV 文件中的邻接矩阵绘制 NetworkX 图形我想将此矩阵导入到networkx中,我尝试了以下方法:import numpy as npimport networkx as nximport matplotlib.pyplot as pltfrom numpy import genfromtxtimport numpy as npmydata = genfromtxt('data.csv', delimiter=',')但我只得到这个:print(mydata)print(type(mydata))[nan nan]<class 'numpy.ndarray'>如何正确导入数据,我想使用python管道计算网络中每个节点的度中心性。导入是第一步。
查看完整描述

2 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

numpy.genfromtxt函数有一个名为 comments 的可选参数,默认设置为"#"

comments : str, optional
    The character used to indicate the start of a comment.
    All the characters occurring on a line after a comment are discarded

换句话说,numpy 认为您的整个文件包含注释和空行。您必须重命名行和列标识符,或者必须将 comments 参数设置为其他值,例如"*"


查看完整回答
反对 回复 2023-10-18
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

.csv您可能会发现将文件读入 pandas 数据帧并从中创建图形要简单得多,其中直接包含节点名称:


import pandas as pd


df = pd.read_csv(s, sep=',')

G = nx.from_pandas_adjacency(df)

使用上述数据框的示例运行:


from io import StringIO

s = StringIO('''

#A,#B,#C,#D,#E,#F,#G,#H,#I,#J,#K

#A,0,1,1,0,1,1,1,1,0,1,0

#B,1,0,0,0,1,1,1,1,0,1,0

#C,1,0,0,0,1,1,1,1,0,1,0

''')


df = pd.read_csv(s, sep=',')

G = nx.from_pandas_adjacency(df)

G.edges()

# EdgeView([('#A', '#B'), ('#A', '#C')]) 

由于数据框必须是方形的,因此数据框已被剪切到第三列。但希望您看到这种方式会变得更加容易。


查看完整回答
反对 回复 2023-10-18
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信