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

如何基于日期索引生成两个DataFrame的销售数据相关矩阵?

解决方案

你之前用groupby('Date').corr()的逻辑有误:按日期分组后每个组仅包含一行数据,根本无法计算有意义的相关系数,所以结果不符合预期。

要生成两个产品销售数据的相关矩阵,只需在合并数据后,直接对两个销售列调用corr()方法即可,具体操作如下:

步骤1:合并数据(这部分你的代码是正确的)

import pandas as pd

data1 = [['0', 100], ['1', 235], ['2', 164]]
df1 = pd.DataFrame(data1, columns=['Date', 'Sales Product 1'])

data2 = [['0', 300], ['1', 105], ['2', 200]]
df2 = pd.DataFrame(data2, columns=['Date', 'Sales Product 2'])

df_corr = pd.merge(df1, df2, on='Date')

步骤2:计算相关矩阵

提取两个销售数据列,直接调用corr()方法:

result = df_corr[['Sales Product 1', 'Sales Product 2']].corr()

执行后得到的result就是符合预期的相关矩阵:

Sales Product 1  Sales Product 2
Sales Product 1          1.000000         -0.970143
Sales Product 2         -0.970143          1.000000

这个矩阵的含义:

  • 对角线是各产品自身的相关系数(恒为1)
  • 非对角线是两个产品销售数据的皮尔逊相关系数,反映两者的线性关联程度

如果你的需求确实是要构建以Product1每个日期销售值为行、Product2每个日期销售值为列的矩阵(比如自定义两两值的关联计算),需要明确具体的计算逻辑,但通常这类场景下,上述的变量间相关矩阵才是合理需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:05:24