将矩阵形式的熊猫数据框转换为表格

kur*_*ous 1 python matrix pandas

我有以下形式的数据框:

   P  Q  R  S
A  0  2  1  1
B  2  0  1  1
C  1  1  0  0
D  1  1  0  0
Run Code Online (Sandbox Code Playgroud)

我想将其更改为以下形式:

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...
Run Code Online (Sandbox Code Playgroud)

基本上,格式是:

Row Column Value
Run Code Online (Sandbox Code Playgroud)

我正在寻求以这种方式转换数据,以便能够将其馈送到Cytoscape中以绘制图形。

我可以在熊猫中使用任何内置函数进行此转换吗?

jez*_*ael 5

你可以用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
Run Code Online (Sandbox Code Playgroud)