首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算类型间的相关矩阵

计算类型间的相关矩阵
EN

Stack Overflow用户
提问于 2020-11-29 21:35:55
回答 1查看 157关注 0票数 1

我有dataframe df,其中包括3列,如下所示(选项卡分隔):

代码语言:javascript
复制
X    Y    types
0.3422    0.3214    pen
-0.1784    0.8621    pen
0.9932    0.1347    pencil
0.2847    -0.7634   pen
-0.6548    -0.2981    ruler
0.4792    0.3782    pencil
0.9231    -0.2949    ruler

输出将是如下相关矩阵:

代码语言:javascript
复制
      pen    pencil    ruler

pen    C1      C2        C3

pencil C4      C5        C6

ruler  C7      C8        C9

我尝试过.corr(),但是它不能正常工作,df是如何被构造的

注: C1是笔笔之间的相关值,C2是笔笔之间的相关值,等等.

能帮个忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-29 21:47:09

IIUC,你可以:

代码语言:javascript
复制
res = df.groupby('types').mean().T.corr()

输出

代码语言:javascript
复制
types   pen  pencil  ruler
types                     
pen     1.0     1.0    1.0
pencil  1.0     1.0    1.0
ruler   1.0     1.0    1.0

您可以更改关联方法以满足您的需要,例如:

代码语言:javascript
复制
import numpy as np
res = df.groupby('types').mean().T.corr(method=np.dot)
print(res)

输出

代码语言:javascript
复制
types        pen    pencil     ruler
types                               
pen     1.000000  0.145973 -0.021464
pencil  0.145973  1.000000  0.022724
ruler  -0.021464  0.022724  1.000000

默认情况下,方法将是pearson相关,来自于文档 on方法。

方法{‘pearson’,‘kendall’,‘spearman’}或可调用的相关方法: pearson :标准相关系数 kendall : Kendall头相关系数 spearman : Spearman秩相关 可调用:可调用,输入两个一维ndarray并返回一个浮点数。请注意,corr返回的矩阵沿对角线将有1,无论可调用的行为如何,它都是对称的。 新版本0.24.0。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65065444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档