python – 使用转置版本填充矩阵
发布时间:2020-05-25 04:42:49 所属栏目:Python 来源:互联网
导读:我有一个成对矩阵: m a b c da 1.0 NaN NaN NaNb 0.5 1.0 NaN NaNc 0.6 0.0 1.0 NaNd 0.5 0.4 0.3 1.0 我想用右下角的值替换右上角的NaN: m2 a b c da 1.0 0.5 0.6 0.5b 0.5 1
|
我有一个成对矩阵: >>> m
a b c d
a 1.0 NaN NaN NaN
b 0.5 1.0 NaN NaN
c 0.6 0.0 1.0 NaN
d 0.5 0.4 0.3 1.0
我想用右下角的值替换右上角的NaN: >>> m2
a b c d
a 1.0 0.5 0.6 0.5
b 0.5 1.0 0.0 0.4
c 0.6 0.0 1.0 0.3
d 0.5 0.4 0.3 1.0
我可以通过交换列和索引来做到这一点: cols = m.columns
idxs = m.index
for c in cols:
for i in idxs:
m[i][c] = m[c][i]
但是我的实际数据很慢,而且我确信有一种方法可以一步到位.我知道我可以使用“m.T”生成右上角版本,但我不知道如何用非NaN值替换NaN以获得完整的矩阵.在numpy中可能只有一步到位的方法,但我不知道矩阵代数. 解决方法( docs)怎么样:>>> df.combine_first(df.T)
a b c d
a 1.0 0.5 0.6 0.5
b 0.5 1.0 0.0 0.4
c 0.6 0.0 1.0 0.3
d 0.5 0.4 0.3 1.0 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
