【发布时间】:2020-06-11 13:59:15
【问题描述】:
我有一个如下所示的相关矩阵:
A AA ... ZYME ZYNE ZYXI
0 A 1.000000 0.232455 ... -0.405043 -0.564619 -0.294693
1 AA 0.232455 1.000000 ... -0.539990 0.328284 0.810599
2 AAAU -0.517470 -0.649463 ... 0.334827 0.078683 -0.340102
3 AACG -0.262797 0.102704 ... 0.184302 0.458742 0.207032
4 AADR 0.455388 0.121338 ... 0.310619 -0.221583 -0.226626
5 AAL 0.330470 0.957491 ... -0.700888 0.177816 0.731564
6 AAMC -0.741607 0.192123 ... 0.340565 0.763344 0.527503
7 AAME -0.202228 0.241567 ... -0.250411 0.193994 0.341446
我想更改此 df 的格式,使其显示在 3 列中,前 2 列显示代码对,第三列显示相关值。
我已经尝试按照这里的建议使用堆栈:Transforming a correlation matrix to a 3 column dataframe in pandas?,但我最终得到了这个:
ticker1 ticker2 correlation
0 0 Unnamed: 0 A
1 0 A 1
2 0 AA 0.232455
3 0 AAAU -0.51747
4 0 AACG -0.262797
5 0 AADR 0.455388
6 0 AAL 0.33047
7 0 AAMC -0.741607
8 0 AAME -0.202228
9 0 AAN 0.170759
我做错了什么?这是我的代码:
import pandas as pd
corr = pd.read_csv("corr.csv")
print(corr)
df1 = corr.stack().reset_index()
df1.columns = ['ticker1','ticker2','correlation']
print(df1)
感谢任何帮助
【问题讨论】: