首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seaborn Pairplot皮尔逊P统计量

Seaborn Pairplot皮尔逊P统计量
EN

Stack Overflow用户
提问于 2015-12-14 03:21:13
回答 1查看 5.5K关注 0票数 4

我在python/seaborn/scipy.stats/matplotlib.pyplot等网站上作为新手完成了一项数据分析任务

Seaborn Correlation Coefficient on PairGrid这个链接,它帮助我通过皮尔逊R分数来呈现变量之间的关系。但是,由于皮尔逊测试的输出也应该具有p值,以便表明统计意义,因此我正在寻找一种方法,将P值添加到我的图上的注释中。

代码语言:javascript
复制
g = sns.pairplot(unoutlieddata, vars=['bia', 'DW', 'HW', 'jackson', 'girths'], kind="reg")

def corrfunc(x, y, **kws):
    r, _ = sps.pearsonr(x, y)
    ax = plt.gca()
    ax.annotate("r = {:.2f}".format(r),
                xy=(.1, .9), xycoords=ax.transAxes)

g.map(corrfunc)
sns.plt.show()

显示的是我提供的链接格式的代码。sps=scipy.stats。未异常数据是经过过滤以删除异常值的数据帧

任何想法都会很棒

问候

EN

回答 1

Stack Overflow用户

发布于 2015-12-14 03:56:00

不确定是否有人会看到这一点,但在与了解更多的人交谈后,答案如下

代码

代码语言:javascript
复制
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import pearsonr

def corrfunc(x, y, **kws):
    (r, p) = pearsonr(x, y)
    ax = plt.gca()
    ax.annotate("r = {:.2f} ".format(r),
                xy=(.1, .9), xycoords=ax.transAxes)
    ax.annotate("p = {:.3f}".format(p),
                xy=(.4, .9), xycoords=ax.transAxes)

df = sns.load_dataset("iris")
df = df[df["species"] == "setosa"]
graph = sns.pairplot(df)
graph.map(corrfunc)
plt.show()

结果

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

https://stackoverflow.com/questions/34255242

复制
相关文章

相似问题

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