Skip to main content
 首页 » 编程设计

python之将矩阵形式的 pandas dataframe 转换为表格

2025年05月04日27jpfss

我有以下形式的数据框:

   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... 

基本上,格式是:

Row Column Value 

我希望以这种方式转换数据,以便能够将其输入 Cytoscape 以绘制图表。

pandas 中是否有任何内置函数可用于此转换?

请您参考如下方法:

您可以使用 stack与 reset_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