代码之家  ›  专栏  ›  技术社区  ›  Qubix

从熊猫数据帧创建相对熵矩阵

  •  1
  • Qubix  · 技术社区  · 2 年前

    我有一个值的数据框架,比如说:

    df = pd.DataFrame(np.array([[0.2, 0.5, 0.3], [0.1, 0.2, 0.5], [0.4, 0.3, 0.3]]),
                       columns=['a', 'b', 'c'])
    

    其中每一行都是概率向量。我想计算一些类似的相关矩阵 df.corr() ,但我想计算 relative entropy

    什么是最好的方式来做这件事,因为我找不到进入 .corr() 方法并简单地更改其使用的函数?

    1 回复  |  直到 2 年前
        1
  •  3
  •   Dani Mesejo    2 年前

    IIUC,使用 .corr

    import pandas as pd
    import numpy as np
    
    from scipy.stats import entropy
    
    df = pd.DataFrame(np.array([[0.2, 0.5, 0.3], [0.1, 0.2, 0.5], [0.4, 0.3, 0.3]]),
                       columns=['a', 'b', 'c'])
    
    res = df.corr(method=entropy)
    print(res)
    

    输出

              a         b         c
    a  1.000000  0.160246  0.270608
    b  0.160246  1.000000  0.167465
    c  0.270608  0.167465  1.000000
    

    根据文件:

    可赎回: 注意,从corr返回的矩阵沿