ソーシャルプラットフォームAPIのデータをnetworkxグラフに読み込んで分析するのは難しいです。しかし、問題がある。 add_node
関数が渡されているようで、属性は追加されません。 API からNetworkx add_nodeは辞書として解析された属性を無視しているようです
データはの形式で提供されます:(...芋少し奇妙な構造)ので、それは
dict with one key 'users'
list with one element [0]
a dict of each users with user number as the key
a dict that contains the same id and a load of other attributes
だ
data= {'users': [{'1': {'attrib1': 'some value',
'attrib2': 'some other value',
.... etc},
'2': {'attrib1': 'some val',
'attrib2': 'you get the idea',
... etc},
... etc
}]}
私がしてきましたnx.DiGraph
のノードの作成に成功しました。
G = nx.DiGraph()
for u in data['users'][0].values():
G.add_node(str(u['id']),attr_dict=u)
しかし、ノードをクイズすると、G
(たとえば、 nx.get_node_attibutes(G,'firstName')
)ノードにアタッチされている属性がないようです。
質問
- 私が間違ってやっている何かがありますか?ループ内の
u
は間違いなくdictです。私はチェックしました。 - これを行うにはもっと元気な方法がありますか?おそらく
data
の辞書を別の構造に操作することによって?