2016-12-09 11 views
-1

matrizを3列のリストに変換する必要があります。私はExcelでそれを行っていますが、私の行列は非常に大きいので、私はPythonでそれを行う必要があります。行列(CSV)をPythonの3列リストに変換する

私はこのようなものがあります:

 A B C ... 
a 1 3 4 ... 
b 4 0 6 ... 
c 9 8 0 ... 

を、出力が(0を無視して)CSVファイルに次のようなものでなければなりません:

Source Target Weight 
    a  A   1 
    a  B   3 
    a  C   4 
    b  A   4 
    b  C   6 
    c  A   9 
    c  B   8 

は、誰かが私に手を与えることができ、お願いします?

ありがとうございました!!!

+0

おそらく、このためにパンダを使用することを検討する必要があります。 –

答えて

0

これは完璧に動作します!

In [335]: df.stack().reset_index().rename(columns={'level_0':'Source','level_1':'Target', 0:'Weight'}) 

Out[335]: 

    Source Target Weight 
0  a  A  1 
1  a  B  3 
2  a  C  4 
3  b  A  4 
4  b  B  0 
5  b  C  6 
6  c  A  9 
7  c  B  8 
8  c  C  0 
0

パンダを使用している場合は、特別な方法.to_csv()を使用して、csvをファイルに出力できます。列の名前を変更することもできます。

関連する問題