私はnetworkxグラフのノードにnumpy-arrayを付けました。グラフをgexf形式でディスクに保存する方法は? (ちょうど中間のものとしてのnumpyベクトルなしで...)networkxノード属性を削除する
def create():
G = nx.Graph()
for i in range(256):
G.add_node(i, vector=np.arange(20))
for i in range(1,20):
for j in range(1,256, 10):
G.add_edge(i,j)
temp = tempfile.mktemp(suffix=".gexf")
print("dumping G = (V: %s, E: %s) to disk %s"
% (len(G.nodes()), len(G.edges()), temp))
nx.write_gexf(G, temp)
しかし、これは壊れます。私はPythonには新しいですが、ndarrayはシリアライズ可能ではないようです。では、networkxにそのノード属性を無視するように指示する方法はありますか?
File "...lib\site-packages\networkx\readwrite\gexf.py", line 430, in add_attributes
attr_id = self.get_attr_id(make_str(k), self.xml_type[val_type],
KeyError: <type 'numpy.ndarray'>
オムが、トン私はゲイファイで読み込めません。 – helt
あなたはあなたの質問にそれを指定していません;) – harryscholes
私は質問を更新しました。そういうことを指摘してくれてありがとう。 – helt