Pandas series.corr()方法是如何工作的
pandas.Series.corr()方法用于计算两个系列对象之间的相关性,排除缺失值。结果是一个浮点值,范围在-1到1之间。如果输出是整数1,则表示两个系列之间存在强正相关关系;如果输出是“-1”,则表示存在强负相关关系。
series.corr()方法有三个参数,第一个参数是另一个系列对象,第二个参数是相关性方法的名称,第三个参数是min_period,可选的。
示例1
import pandas as pd
# create pandas Series1
series1 = pd.Series([9,2,4,6,1])
print("First series object:",series1)
# create pandas Series2
series2 = pd.Series([12,4,2,7,4])
print("Second series object:",series2)
# calculate the correlation
print("The Correlation value: ", series1.corr(series2, method='pearson'))
解释
最初,我们使用Python整数列表创建了两个Pandas Series对象。随后,我们使用“Pearson”方法找出了这两个Series对象之间的相关性。
输出
First series object: 0 9
1 2
2 4
3 6
4 1
dtype: int64
Second series object: 0 12
1 4
2 2
3 7
4 4
dtype: int64
The Correlation value: 0.8471600336634684
下面的示例中,两个系列对象之间的相关性为“0.85”,这意味着这两个系列对象具有强烈的正向关系。
示例2
import pandas as pd
import numpy as np
# create pandas Series1
series1 = pd.Series([12,np.nan,47,19,10])
print("First series object:",series1)
# create pandas Series2
series2 = pd.Series([9,4,2,np.nan,4])
print("Second series object:",series2)
# calculate the correlation
print("The Correlation value: ", series1.corr(series2, method='pearson'))
说明
一开始,我们使用一个包含整数的python列表创建了两个pandas Series对象,同时它们还包含一些由numpy.nan属性创建的空值。然后,我们再次使用“Pearson”方法找出这两个Series对象之间的相关性。
输出
First series object:
0 12.0
1 NaN
2 47.0
3 19.0
4 10.0
dtype: float64
Second series object:
0 9.0
1 4.0
2 2.0
3 NaN
4 4.0
dtype: float64
The Correlation value: -0.6864226486537492
以下示例中,两个系列对象之间的相关性为“-0.69”,这表明两个系列对象之间存在强烈的负相关关系。