如何显示计数和速率之间的相关性?

How to show the correlation between counts and rate?

我的数据集

Name rate  counts
A    10.3  3
B    15.4  9
C    21.9  11
D    9.11  4
E    2.21  5
F    7.7   21
G    18.9  20
H    55.1  41

数据集显示不同姓名的人数和比率。

我想知道比率与计数的相关性。

例如,如果计数高,则比率高或低。

哪种方法更能体现两者之间的联系?..

您只需要使用 Pandas 函数来计算相关性:

df.rate.corr(df.counts)

支持三种方式:'pearson'(默认)、'kendall'和'spearman'。可以找到更多详细信息 here

您可以尝试使用 numpy 来获取两个变量之间的系数。

import numpy
a = [10.3, 15.4, 21.9, 9.11, 2.21, 7.7, 18.9, 55.1]
b = [3, 9, 11, 4, 5, 21, 20, 41]
print(numpy.corrcoef(a,b))

如果反对角线中的值是正的并且更接近于 1,那么它们的相关性更高。 结果是

[[1.         0.84965646] 
 [0.84965646 1.        ]]

系数值约为0.85。这意味着它们高度正相关。

检查此代码:

# import requires packages
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# read the data file
df = pd.read_csv('data.csv')

# calculate correlation matrix
corr = df.corr()

# prepare the plot
sns.heatmap(corr, annot = True, vmin = 0, vmax = 1)

# show the plot
plt.show()

这给了我以下相关矩阵:

如您所见,ratecount 之间的相关性相当高:0.85。但是考虑到我只使用了你上面报告的数据,只有 8 行,也许你应该使用更高的样本以获得更可靠的结果。