如何在numpy中转储布尔矩阵?

Kat*_*iel 6 python numpy matrix

我有一个图表表示为一个numpy布尔数组(G.adj.dtype == bool).这是写我自己的图库的功课,所以我不能使用networkx.我想将它转储到一个文件,以便我可以摆弄它,但对于我的生活,我无法弄清楚如何使numpy以可恢复的方式转储它.

我已经尝试过G.adj.tofile,它正确地将图形(ish)写成一条长的True/False.但fromfilebarfs在读这个,给出一个1x1数组,并loadtxt提出了一个ValueError: invalid literal for int.np.savetxt可以工作,但将矩阵保存为0/1浮点列表,并且loadtxt(..., dtype=bool失败并且具有相同的ValueError.

最后,我试过networkx.from_numpy_matrixnetworkx.write_dot,但这给[weight=True]了点源中的每一个边缘,它打破了networkx.read_dot.

Hug*_*ell 5

保存:

numpy.savetxt('arr.txt', G.adj, fmt='%s')
Run Code Online (Sandbox Code Playgroud)

恢复:

G.adj = numpy.genfromtxt('arr.txt', dtype=bool)
Run Code Online (Sandbox Code Playgroud)

哼!