You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对长度不同的两组数据集执行相关性及滚动相关性分析

皮尔逊相关性与滚动相关性计算方案

前置说明

现有代码存在3个问题:

  1. 未导入pandas库,直接调用pd会报错
  2. 没有截取两组数据的前32条样本
  3. pearsonr要求输入一维数组,pd.read_csv默认返回DataFrame,直接传入会报错

完整实现代码

import pandas as pd
from scipy.stats import pearsonr

# 读取本地数据文件
X = pd.read_csv(r'X.csv')
Y = pd.read_csv(r'Y.csv')

# 提取前32条样本的第一列数值,多列数据可自行调整列索引或列名
X_slice = X.iloc[:32, 0].values
Y_slice = Y.iloc[:32, 0].values

# 计算皮尔逊相关性
corr, p_value = pearsonr(X_slice, Y_slice)
print(f"皮尔逊相关系数:{corr:.4f},p值:{p_value:.4f}")

# 滚动相关性计算,window参数为滚动窗口大小,可按需调整
df = pd.DataFrame({"X": X_slice, "Y": Y_slice})
rolling_corr = df.rolling(window=5).corr().dropna()
# 提取X与Y的对应相关系数
rolling_corr = rolling_corr.loc[(slice(None), "X"), "Y"].reset_index(drop=True)
print("\n滚动相关性结果:")
print(rolling_corr)

注意事项

  • 如果你的csv文件包含多列,可将iloc[:32, 0]替换为['你的列名'].iloc[:32].values来指定计算列
  • 滚动窗口大小可根据分析需求修改,最大值不能超过32
  • 运行前请确认数据文件路径填写正确,或者将csv文件放在Jupyter Notebook的工作目录下

内容的提问来源于stack exchange,提问作者user2543

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:36:03