我有一个表示协方差矩阵s.th的数据帧。像这样
names = ['AA','BB','CC','DD','EE']
x_ = np.random.normal(size=5)
y_ = np.random.normal(size=5)
z = np.vstack((x_, y_))
cov_mat = np.cov(z.T)
cov_mat = np.triu(cov_mat, k=0)
cov_mat_df = pd.DataFrame(cov_mat)
cov_mat_df.index = names
cov_mat_df.columns = names
导致
AA BB CC DD EE
AA 0.271191 -1.064020 -0.311409 0.834741 -0.464261
BB 0.000000 4.174687 1.221814 -3.275110 1.821531
CC 0.000000 0.000000 0.357591 -0.958533 0.533111
DD 0.000000 0.000000 0.000000 2.569378 -1.429021
EE 0.000000 0.000000 0.000000 0.000000 0.794784
我想将此保存为csv,同时以内存大小原因删除所有0,格式如下
Idx1 Idx2 Value
AA AA 0.271191
AA BB -1.064020
AA CC -0.311409
... ... ....
DD EE -1.429021
EE EE 0.794784
我尝试使用pandas旋转功能,但我认为我需要反过来。