我试图想象我使用python和bokeh得到的一些数据,但它没有成功。它是一个.csv文件,它看起来像这样,只有更多的行和值:
;A;B;C;DA;0;0;1;2;B;0;3;0;0;C;0;0;0;1;D;1;0;2;0
我尝试了一些东西,但它没有让我走得太远,现在我有点卡住了。
我试着用这个列表:
import csv
with open('coauth.csv', 'r') as f:
reader = csv.reader(f)
your_list = list(reader)
print(your_list)
但是它输出一个嵌套列表,如下所示:
[[';A;B;C;D'], ['A;0;0;1;2'], ['B;0;3;0;0']...
等等。
如果输出可能是这样的话会很好:
{ 'A' : [0, 0, 1, 2], 'B' : [0, 3, 0, 0],... }
有人知道我应该如何处理它,也许还有关于如何进一步使用可视化的想法?
您可能希望使用numpy
将其转换为实际矩阵。似乎列表列表中的第一个列表为您提供了列的节点,然后每个后续列表中的第一个值是每行的节点。你可以用;
拆分每个列表,然后选择不是节点名称(A,B等)的值,并将它们作为一行存储在矩阵中,这样你的矩阵看起来就像
import numpy as np
# Numpy matrix, or array of a list of lists
np.array([[0,0,1,2],
[0,3,0,0],
[0,0,0,1],
[1,0,2,0]])
根据你的评论,你可以做类似的事情
split_list = [row.split(';') for sublist in your_list for row in sublist]
your_dict = {row[0]: row[1:] for row in split_list[1:]}
#Output
{'A': ['0', '0', '1', '2'], 'B': ['0', '3', '0', '0']}