如何使用PANDAS/Python将矩阵转换为列数组

如何使用PANDAS/Python将矩阵转换为列数组,python,arrays,pandas,matrix,dataframe,Python,Arrays,Pandas,Matrix,Dataframe,我需要将矩阵(如下)转换为3列列表 我目前有一个数据帧,如下所示: A B C ... a 1 3 4 ... b 4 0 6 ... c 9 8 0 ... 我需要得到如下结果: Source Target Weight a A 1 a B 3 a C 4 b A 4

我需要将矩阵(如下)转换为3列列表

我目前有一个数据帧,如下所示:

     A   B   C  ...
a    1   3   4  ...
b    4   0   6  ...
c    9   8   0  ...
我需要得到如下结果:

Source   Target    Weight
  a        A          1
  a        B          3
  a        C          4
  b        A          4
  b        C          6
  c        A          9
  c        B          8
我一直在尝试使用pandas.pivot\u table函数,但无法得到所需的结果

您可以使用以下方法:


我在考虑使用:

它不会给你想要的东西,但最好知道:

      index Target  Weight
0     a      A     1.0
1     b      A     4.0
2     c      A     9.0
3     a      B     3.0
4     b      B     0.0
5     c      B     8.0
...
pd.melt(df.reset_index(), id_vars=['index'], value_vars=['A', 'B', 'C'], var_name='Target', value_name='Weight')
      index Target  Weight
0     a      A     1.0
1     b      A     4.0
2     c      A     9.0
3     a      B     3.0
4     b      B     0.0
5     c      B     8.0
...