【问题标题】:Calculate correlation coefficient by row in pandas在熊猫中按行计算相关系数
【发布时间】:2020-12-02 07:02:19
【问题描述】:

我正在尝试计算相关系数,例如how can I calculate correlation between all possible rows

我的代码 将熊猫导入为 pd

d = {'Name': ['A', 'B','C'], 'v1': [1,3, 4], 'v2': [3,2, 4], 'v3': [3,9 ,1]}
df = pd.DataFrame(data=d)
result = df.T.corr().unstack().reset_index(name="corr")

但它显示错误 IndexError: list index out of range.

感谢您的帮助

【问题讨论】:

    标签: python pandas


    【解决方案1】:
    1. 您最初需要确保 Name 是一个索引,以便转置工作
    2. corr()之后你需要重命名X轴
    3. 最后你需要在reset_index()之后重命名你的列
    d = {'Name': ['A', 'B','C'], 'v1': [1,3, 4], 'v2': [3,2, 4], 'v3': [3,9 ,1]}
    df = pd.DataFrame(data=d).set_index("Name")
    result = df.T.corr()
    result.columns.set_names("NameX", inplace=True)
    result = result.unstack().to_frame().reset_index().rename(columns={"Name":"NameY",0:"corr"})
    

    输出

    NameX NameY      corr
        A     A  1.000000
        A     B  0.381246
        A     C -0.500000
        B     A  0.381246
        B     B  1.000000
        B     C -0.991241
        C     A -0.500000
        C     B -0.991241
        C     C  1.000000
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      相关资源
      最近更新 更多