如何使用 Pandas 计算相关系数

如何使用 Pandas 计算相关系数

参考:pandas correlation coefficient

在数据分析中,相关系数是一种衡量两个变量间线性关系强度和方向的统计指标。Pandas 提供了强大的数据处理能力,特别是在计算相关系数方面。本文将详细介绍如何使用 Pandas 计算相关系数,并提供多个示例代码,帮助读者更好地理解和应用。

1. 相关系数简介

相关系数的值范围从 -1 到 1。值为 1 表示完全正相关,值为 -1 表示完全负相关,而 0 表示没有线性关系。常见的相关系数包括皮尔逊相关系数、斯皮尔曼等级相关系数和肯德尔等级相关系数。

1.1 皮尔逊相关系数

皮尔逊相关系数衡量的是两个变量之间的线性相关性。其计算公式为协方差除以两个变量的标准差。

1.2 斯皮尔曼等级相关系数

斯皮尔曼相关系数是基于等级的非参数相关系数,适用于评估两个变量的单调关系。

1.3 肯德尔等级相关系数

肯德尔等级相关系数也是一种基于等级的非参数相关系数,它通过考虑配对观察值的一致性和不一致性来评估两个变量之间的关系。

2. 使用 Pandas 计算相关系数

在 Pandas 中,可以使用 DataFrame.corr() 方法来计算相关系数矩阵。该方法默认计算皮尔逊相关系数,但也可以通过参数选择其他类型的相关系数。

示例代码 1: 创建 DataFrame

import pandas as pd

data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 3, 2, 3, 2]
}
df = pd.DataFrame(data)
print(df)

Output:

如何使用 Pandas 计算相关系数

示例代码 2: 计算皮尔逊相关系数

import pandas as pd

data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 3, 2, 3, 2]
}
df = pd.DataFrame(data)
correlation_matrix = df.corr()
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 3: 计算斯皮尔曼相关系数

import pandas as pd

data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 3, 2, 3, 2]
}
df = pd.DataFrame(data)
correlation_matrix = df.corr(method='spearman')
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 4: 计算肯德尔相关系数

import pandas as pd

data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 3, 2, 3, 2]
}
df = pd.DataFrame(data)
correlation_matrix = df.corr(method='kendall')
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 5: 选择性计算相关系数

import pandas as pd

data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 3, 2, 3, 2]
}
df = pd.DataFrame(data)
correlation_matrix = df[['A', 'B']].corr()
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 6: 使用皮尔逊相关系数分析股票数据

import pandas as pd

data = {
    'Google': [1129, 1132, 1134, 1152, 1152],
    'Apple': [191, 192, 190, 194, 195]
}
df = pd.DataFrame(data)
correlation_matrix = df.corr()
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 7: 多变量相关系数矩阵

import pandas as pd

data = {
    'Temperature': [22, 24, 24, 25, 23],
    'Humidity': [30, 35, 33, 32, 34],
    'WindSpeed': [10, 12, 11, 9, 10]
}
df = pd.DataFrame(data)
correlation_matrix = df.corr()
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 8: 使用肯德尔方法比较不同数据集

import pandas as pd

data1 = {
    'Math': [90, 91, 85, 88, 86],
    'Physics': [92, 89, 85, 87, 90]
}
data2 = {
    'Math': [101, 100, 102, 104, 102],
    'Physics': [99, 100, 101, 103, 104]
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
correlation_matrix1 = df1.corr(method='kendall')
correlation_matrix2 = df2.corr(method='kendall')
print(correlation_matrix1)
print(correlation_matrix2)

Output:

如何使用 Pandas 计算相关系数

示例代码 9: 股票市场相关性分析

import pandas as pd

data = {
    'NASDAQ': [7400, 7500, 7550, 7600, 7700],
    'S&P 500': [2700, 2720, 2730, 2750, 2770]
}
df = pd.DataFrame(data)
correlation_matrix = df.corr()
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

示例代码 10: 时间序列数据的相关性分析

import pandas as pd

data = {
    'Month': ['January', 'February', 'March', 'April', 'May'],
    'Sales': [200, 210, 215, 210, 205],
    'Expenses': [150, 160, 165, 160, 155]
}
df = pd.DataFrame(data)
correlation_matrix = df[['Sales', 'Expenses']].corr()
print(correlation_matrix)

Output:

如何使用 Pandas 计算相关系数

以上示例展示了如何使用 Pandas 计算不同类型的相关系数,并应用于多种数据集。通过这些示例,读者可以更好地理解相关系数的计算方法及其在实际数据分析中的应用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程