【问题标题】:Convert a pandas dataframe in the form of a matrix into a table将矩阵形式的 pandas 数据框转换为表格
【发布时间】:2016-05-12 21:19:36
【问题描述】:

我有一个如下形式的数据框:

   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 中的任何内置函数进行此转换吗?

【问题讨论】:

  • 你能再添加一行/列吗?不清楚你想如何继续......
  • 相应地更新了问题

标签: python pandas matrix


【解决方案1】:

您可以将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

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    相关资源
    最近更新 更多