我需要将矩阵(如下)转换为 3 列列表。
我目前有这样一个 DataFrame:
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_table 函数,但无法获得所需的结果。
最佳答案
你可以使用DataFrame.stack()方法:
In [335]: df.stack().reset_index().rename(columns={'level_0':'Source','level_1':'Target', 0:'Weight'})
Out[335]:
Source Target Weight
0 a A 1
1 a B 3
2 a C 4
3 b A 4
4 b B 0
5 b C 6
6 c A 9
7 c B 8
8 c C 0
关于python - 如何使用 PANDAS/Python 将矩阵转换为列数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41474284/