2016-05-12 69 views
1

我有以下形式的数据帧:转换一个大熊猫数据帧以矩阵的形式插入到表

P Q R S 
A 0 2 1 1 
B 2 0 1 1 
C 1 1 0 0 
D 1 1 0 0 

我希望将其更改为以下形式:

A P 0 
A Q 2 
A R 1 
A S 1 
B P 2 
B Q 0 
B R 1 
B S 1 and so on... 

基本上,fomat是:

Row Column Value 

我期待以这种方式转换数据,以便能够将其送入Cytoscape以绘制图形。

有没有熊猫中的任何内置功能,我可以使用这种转换?

+0

你能添加更多的行/列?目前还不清楚你想如何继续...... – MaxU

+0

相应地更新了相应的问题 – kurious

回答

4

您可以使用stackreset_index

df = df.stack().reset_index() 
df.columns = ['a','b','c'] 
print df 
    a b c 
0 A P 0 
1 A Q 2 
2 A R 1 
3 A S 1 
4 B P 2 
5 B Q 0 
6 B R 1 
7 B S 1 
8 C P 1 
9 C Q 1 
10 C R 0 
11 C S 0 
12 D P 1 
13 D Q 1 
14 D R 0 
15 D S 0