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

DataFrames执行点积运算时出现矩阵未对齐错误如何解决?

问题解决:DataFrame点积对齐错误

核心原因

两个DataFrame的列名不匹配:butter_prices 中是 Almond butter,而 weekly_sales 中是 Almonds butter(多了一个's')。Pandas的dot()方法会按标签对齐矩阵,标签不匹配导致维度对齐失败。

解决步骤

1. 修正列名不匹配问题

先将weekly_sales中的列名统一为和butter_prices一致:

# 重命名weekly_sales的列,修正拼写差异
weekly_sales = weekly_sales.rename(columns={"Almonds butter": "Almond butter"})

2. 重新执行点积运算

修正列名后,两个DataFrame的标签完全对齐,即可成功计算点积:

# 计算点积,得到每日总销售额
daily_total_sales = butter_prices.dot(weekly_sales.T)

结果示例

执行后会得到一个(1,5)的DataFrame,对应周一到周五的总销售额:

Mon  Tues   Wed  Thurs  Fri
Price     240   132   492    200   132

备选方案(忽略标签直接计算)

如果不需要保留标签对齐的安全性,可以直接用numpy数组计算(不推荐,若列顺序变化会出错):

import numpy as np
daily_total_sales = np.dot(butter_prices.values, weekly_sales.values.T)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:47:13