我一直在做名为网络分析简介(Pt1)的 Datacamp 课程,并且有一个 Graph/DiGraph 形式的测试网络。
python shell
在他们网站上的交互中,我可以输入T.edges()
等T.nodes()
。但我不知道如何在我的本地机器上加载相同的网络。
数据以 .p 扩展名提供。单击https://mega.nz/#!hs4RhbjC!ukDcb6pDiJSEoAGy-WiosfcMgP62qiQgAAAAAAAAAAAA)访问该文件。
import networkx as nx
dg = pickle.load(open('../data/tw.p'))
print (dg.edges())
它读取错误
Traceback (most recent call last):
File "C:\Code\DataCamp-master\21-network-analysis-in-python-(part-1)\01-introduction-to-networks\02-queries-on-a-graph.py", line 22, in <module>
dg = pickle.load(open('../data/tw.p'))
File "C:\ProgramData\Anaconda3\lib\encodings\cp1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 4933: character maps to <undefined>
@
T = nx.read_gpickle('../folder/tw.p')
当我通过 nx.read_gpickle 尝试时,我得到了这个:
Traceback (most recent call last):
File "C:\Code\DataCamp-master\21-network-analysis-in-python-(part-1)\01-introduction-to-networks\02-queries-on-a-graph.py", line 21, in <module>
print (T.nodes())
File "C:\ProgramData\Anaconda3\lib\site-packages\networkx\classes\graph.py", line 719, in nodes
nodes = NodeView(self)
File "C:\ProgramData\Anaconda3\lib\site-packages\networkx\classes\reportviews.py", line 168, in __init__
self._nodes = graph._node
AttributeError: 'DiGraph' object has no attribute '_node'
下面显示的是它的外观,我不知道如何制作它:
Directed Graph from the provided file.
The Twitter network has been loaded as `T`.
在 [1]type(T)
networkx.classes.digraph.DiGraph
T.nodes(data=True)[:10]
[(1, {'category': 'I', 'occupation': 'scientist'}),
(3, {'category': 'P', 'occupation': 'politician'}),
(4, {'category': 'D', 'occupation': 'celebrity'}),
(5, {'category': 'I', 'occupation': 'politician'}),
(6, {'category': 'D', 'occupation': 'politician'}),
(7, {'category': 'D', 'occupation': 'scientist'}),
(8, {'category': 'I', 'occupation': 'celebrity'}),
(9, {'category': 'D', 'occupation': 'celebrity'}),
(10, {'category': 'I', 'occupation': 'celebrity'}),
(11, {'category': 'I', 'occupation': 'celebrity'})]
我似乎不明白如何实现 .p 文件转换为 Graph 的基本思想。