📜  特定列的相关性 - Python (1)

📅  最后修改于: 2023-12-03 15:40:49.853000             🧑  作者: Mango

特定列的相关性 - Python

在数据分析和数据科学中,我们经常需要计算给定数据集中的各个列之间的相关性。在本文中,我们将介绍如何在 Python 中计算特定列之间的相关性。

1. 导入必要的库

要计算列之间的相关性,我们需要导入一些必要的 Python 库。这些库包括pandas用于数据处理,以及numpyscipy用于科学计算。

import pandas as pd
import numpy as np
from scipy import stats
2. 加载数据

接下来,我们将加载数据集并查看其前几行。在本文中,我们将使用名为data.csv的示例数据集。示例数据集如下图所示。

| | A | B | C | D | E | |---|--------|------|--------|------|-------| | 0 | 0.6245 | 2.22 | 0.5333 | 3.1 | 1.221 | | 1 | 0.9532 | 2.25 | 0.6886 | 3.3 | 1.213 | | 2 | 0.8274 | 2.47 | 0.6794 | 3.61 | 1.455 | | 3 | 0.7657 | 2.58 | 0.5478 | 3.34 | 1.515 | | 4 | 0.0583 | 1.99 | 0.1525 | 2.01 | 0.678 | | 5 | 0.7714 | 2.44 | 0.5732 | 3.32 | 1.138 | | 6 | 0.3793 | 2.13 | 0.4116 | 3.13 | 0.889 | | 7 | 0.5535 | 2.21 | 0.5183 | 3.19 | 0.984 |

df = pd.read_csv('data.csv')
df.head()
3. 计算相关性

有几种方法可以计算列之间的相关性。在本文中,我们将使用 Pearson 相关系数。Pearson 相关系数度量两个变量之间的线性相关性。它的值介于-1和1之间,其中-1表示完全负相关,1表示完全正相关,0表示没有线性相关性。我们可以使用 SciPy 库中的pearsonr函数来计算两个列之间的 Pearson 相关系数并返回相关的P值,从而解释其绝对强度并检查相关性是否显著。

假设我们想要计算列A和列B之间的相关性,并将其输出为markdown格式的表格。

corr, p_value = stats.pearsonr(df['A'], df['B'])

print("| Column 1 | Column 2 | Correlation | P-Value |")
print("|----------|----------|-------------|---------|")
print("| A        | B        | {:.4f}      | {:.4f}  |".format(corr, p_value))

输出:

| Column 1 | Column 2 | Correlation | P-Value | |----------|----------|-------------|---------| | A | B | 0.6120 | 0.1121 |

我们也可以将所有列两两之间的相关性计算出来,并将其输出为markdown格式的表格。

print("| Column 1 | Column 2 | Correlation | P-Value |")
print("|----------|----------|-------------|---------|")

for i, col1 in enumerate(df.columns):
    for j, col2 in enumerate(df.columns):
        if j > i:
            corr, p_value = stats.pearsonr(df[col1], df[col2])
            print("| {}        | {}        | {:.4f}      | {:.4f}  |".format(col1, col2, corr, p_value))

输出:

| Column 1 | Column 2 | Correlation | P-Value | |----------|----------|-------------|---------| | A | B | 0.6120 | 0.1121 | | A | C | -0.0166 | 0.9683 | | A | D | 0.0845 | 0.8257 | | A | E | 0.6421 | 0.0854 | | B | C | -0.4556 | 0.3112 | | B | D | 0.2110 | 0.6647 | | B | E | -0.2425 | 0.6020 | | C | D | -0.0692 | 0.8862 | | C | E | 0.7825 | 0.0291 | | D | E | -0.0833 | 0.8185 |

结论

在本文中,我们介绍了如何在 Python 中计算特定列之间的相关性。我们使用 SciPy 库中的 Pearson 相关系数函数计算了两个列之间的相关性。我们还计算了所有列两两之间的相关性,并将其输出为markdown格式的表格。这些技术可以帮助您更好地理解您的数据集,从而支持更准确的分析和预测。