您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 使用转置版本填充矩阵

5b51 2022/1/14 8:23:27 python 字数 1292 阅读 583 来源 www.jb51.cc/python

我有一个成对矩阵: >>> 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

概述

>>> 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中可能只有一步到位的方法,但我不知道矩阵代数.

>>> 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

总结

以上是编程之家为你收集整理的python – 使用转置版本填充矩阵全部内容,希望文章能够帮你解决python – 使用转置版本填充矩阵所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶