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

Jupyter Notebook中用np.dot计算矩阵点积提示matrices are not aligned错误

错误原因与修复方案

核心报错原因

  • pandas DataFrame执行dot点积运算时会自动对齐列名与索引,你定义的两个DataFrame列名存在拼写不一致问题:
    • weekly_sales列名:Almond Butter、Peanut Butter
    • butter_prices列名:Almond Butter(多了一个空格)、Peanut_Butter(用下划线代替了空格)
      列名无法匹配,触发维度对齐错误。
  • 本次你要计算每日总销售额的场景下,维度调整逻辑本身是正确的,只要修正列名即可正常运行。

修复后可运行代码

import numpy as np
import pandas as pd

# 创建随机销量数组
np.random.seed(0)
sales_amounts = np.random.randint(20 , size=(5,3))

# 创建周销量DataFrame
weekly_sales = pd.DataFrame(sales_amounts, index =["Mon","Tues","Wed","Thur","Fri"],
                          columns =["Almond Butter","Peanut Butter","Cashew Butter"])

# 创建价格数组
prices = np.array([10,8,12])

# 创建价格DataFrame,和周销量的列名完全保持一致
butter_prices = pd.DataFrame(prices.reshape(1,3), index=["price"],columns= ["Almond Butter","Peanut Butter","Cashew Butter"])

# 计算每日总销售额,此时列名匹配、(1,3) × (3,5)的维度符合点积要求
daily_sales = butter_prices.dot(weekly_sales.T)
print(daily_sales)

运行结果说明

修正后输出的daily_sales是1行5列的DataFrame,每一列对应周一到周五的三类黄油总销售额。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:27:03