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

numpy中float类型矩阵执行矩阵乘法时报TypeError错误求助

报错原因与解决方案

根因定位

该报错与矩阵内的float类型数值无关,触发原因是你对Python原生序列(列表/元组)直接执行了乘法运算,没有先将其转换为numpy数组:
Python原生列表的*运算符仅支持和整数类型数值运算,作用是重复列表内容,不支持和float类型、或者其他列表做矩阵乘法操作,因此触发该类型错误。

排查修复步骤

  • 首先验证运算对象的类型,执行print(type(待运算变量名)),如果输出为<class 'list'>或<class 'tuple'>即可确认是该问题
  • 运算前将两个待运算对象转换为numpy数组,调用np.array(原生序列)即可完成转换
  • 若要执行矩阵乘法运算,不要使用*运算符,使用@运算符或np.matmul()方法即可:numpy中*为逐元素乘法,要求两个数组维度完全一致,@/np.matmul()才是标准矩阵乘法,要求前一数组的列数等于后一数组的行数

参考实现代码

import numpy as np

# 模拟原生列表格式的特征矩阵、参数矩阵
feature_list = [[1.2, 3.5], [2.4, 4.7], [3.1, 5.2]]
theta_list = [0.4, 0.2]

# 错误写法:直接对列表做乘法,触发报错
# result = feature_list * theta_list

# 正确写法:转numpy数组后做矩阵乘法
feature_arr = np.array(feature_list)
theta_arr = np.array(theta_list)
result = feature_arr @ theta_arr
print(result)

内容的提问来源于stack exchange,提问作者Qianghao Ken Wu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:27:04