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

如何在DataFrame列内生成产品ID间基于平均需求的相关矩阵?

生成产品ID间需求相关矩阵的步骤

1. 明确数据前提

你当前的DataFrame仅包含每个产品的单一平均需求值,无法直接计算相关系数——相关系数需要每个产品具备至少两个观测值(比如不同时间点的需求数据),才能衡量变量间的线性关联程度。因此首先要确认你是否持有原始的多观测点需求数据(例如按时间维度记录的各产品需求)。

2. 转换数据格式(长格式→宽格式)

假设你有如下原始需求数据(示例):

product_iddatedemand
6552023-01-018
1322023-01-017
6552023-01-027
1322023-01-028

使用pandas将其转换为宽格式(列对应产品ID,行对应观测维度如日期):

import pandas as pd

# 假设原始数据存储在df_raw中
wide_df = df_raw.pivot(index='date', columns='product_id', values='demand')

3. 计算相关矩阵

通过pandas内置的corr()方法直接生成相关矩阵:

corr_matrix = wide_df.corr()

此时corr_matrix就是你需要的结果:行和列均为产品ID,对角线值为1(自身相关系数),其余位置为对应两个产品需求的相关系数。

4. 特殊情况说明

如果你的数据确实只有每个产品的单一平均需求,那么计算相关矩阵没有统计学意义——所有非对角线位置的相关系数都会是NaN,因为单个值无法支撑变量间线性关系的计算。这种情况下需要重新梳理数据来源。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:05:24