概述
我有以下pandas数据帧Top15:
我创建了一个列,用于估算每人可引用文档的数量:
Top15['PopEst'] = Top15['Energy Supply'] / Top15['Energy Supply per Capita']
Top15['Citable docs per Capita'] = Top15['Citable documents'] / Top15['PopEst']
我想知道人均可引用文件数量与人均能源供应量之间的相关性.所以我使用.corr()方法(Pearson的相关性):
data = Top15[['Citable docs per Capita','Energy Supply per Capita']]
correlation = data.corr(method='pearson')
我想返回一个数字,但结果是:
解决方法:
没有实际数据很难回答这个问题,但我想你正在寻找这样的东西:
Top15['Citable docs per Capita'].corr(Top15['Energy Supply per Capita'])
举个例子:
import pandas as pd
df = pd.DataFrame({'A': range(4), 'B': [2*i for i in range(4)]})
A B
0 0 0
1 1 2
2 2 4
3 3 6
然后
df['A'].corr(df['B'])
按预期给出1.
现在,如果您更改了某个值,例如
df.loc[2, 'B'] = 4.5
A B
0 0 0.0
1 1 2.0
2 2 4.5
3 3 6.0
命令
df['A'].corr(df['B'])
回报
0.99586
正如预期的那样仍然接近1.
df.corr()
因此会回来
A B
A 1.000000 0.995862
B 0.995862 1.000000
在您显示的图形中,仅表示相关矩阵的左上角(我假设).
在某些情况下,您可以在解决方案中获得NaN – 请查看this post作为示例.
如果要过滤/低于特定阈值的条目,可以查看this question.
如果要绘制相关系数的热图,可以检查this answer,然后如果遇到重叠轴标签的问题,请检查the following post.
标签:python,pandas,correlation
来源: https://codeday.me/bug/20190918/1811636.html
最后
以上就是英勇苗条为你收集整理的python两列数据相关性_python – 使用.corr获取两列之间的相关性的全部内容,希望文章能够帮你解决python两列数据相关性_python – 使用.corr获取两列之间的相关性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复