Pandas 中的 series.corr() 方法是如何工作的?


pandas.Series.corr() 方法用于计算两个 Series 对象之间的相关性,并排除缺失值。结果是一个介于 -1 到 1 之间的浮点值。如果输出是整数 1,则表示两个 Series 之间存在强正相关关系;如果输出是“-1”,则表示存在强负相关关系。

series.corr() 方法有三个参数:第一个是另一个 Series 对象;第二个是相关方法的名称;第三个是 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

以下示例中,两个 Series 对象之间的相关性为“0.85”,这表明这两个 Series 对象之间存在强正相关关系。

示例 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

以下示例中,两个 Series 对象之间的相关性为“-0.69”,这表明这两个 Series 对象之间存在强负相关关系。

更新于:2022年3月9日

301 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.