70503


以下のコードを書いており、csvファイルに書き込むときに、要素のみ、かつ配列の[[, ]]を消去したいのですが、そのような方法はあるのでしょうか。

また、今回の例では３×３の行列ですが、将来的には２０×２０の行列なども考えています。

[code]

    import networkx as nx
    G = nx.grid_2d_graph(3, 3)
    ary = nx.to_numpy_matrix(G)
    ary_new = np.array2string(ary, separator=', ', formatter={'int_kind': lambda x: '{: .4f}'.format(x)})
    
    import csv
    
    with open('python_nx_data/square.csv', 'w') as f:
        writer = csv.writer(f) 
        writer.writerows(ary) 
    
[/code]

以下の図のように出力したいです。  
[![理想の結果](https://i.stack.imgur.com/QIa5O.png)](https://i.stack.imgur.com/QIa5O.png)

上記でも書きましたが、将来的には大きな行列で行おうとしているので、printで書き出して、直接貼り付けるという解決は考えていません。

よろしくお願いします。


CC BY-SA 4.0
2020-09-17T18:42:44.130
70502
2021-02-10T02:12:20.037
2021-02-10T02:12:20.037
3060
29111
question
python networkx
networkx から得られた隣接行列の要素だけを取り出して、csvファイルに書き込みたい

[code]

    ary = nx.to_numpy_matrix(G)
    
[/code]

を以下のように変えればいいと思います。

[code]

    ary = nx.to_numpy_array(G)
    
[/code]

少数ではなく整数の0、1にしたければ`dtype`で指定できます。

[code]

    ary = nx.to_numpy_array(G, dtype=int)
    
[/code]

以下の行は不要です（念のため）。

[code]

    ary_new = np.array2string(ary, separator=', ', formatter={'int_kind': lambda x: '{: .4f}'.format(x)})
    
[/code]


CC BY-SA 4.0
2020-09-17T21:27:18.950
70503
2020-09-17T21:46:15.230
2020-09-17T21:46:15.230
21092
21092
70502
answer