python - 数组广播
问题描述
我试图将两个 Numpy 数组相乘,但我收到了与广播相关的错误-
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-124-6e9219ae5e45> in <module>
----> 1 d=B*C.reshape(-1,1)
ValueError: operands could not be broadcast together with shapes (3,5,7) (3,1)
我的数组是-
B=np.random.rand(5,7,3).T.swapaxes(2,1)
C=np.linspace(1,5,3)
d=B*C.reshape(-1,1)
你能解释一下这是什么错误以及我应该做什么吗?谢谢
解决方案
您可以尝试将C
数组的形状从更改(3,1)
为(3, 1, 1)
。
B=np.random.rand(5,7,3).T.swapaxes(2,1)
C=np.linspace(1,5,3)
d=B*C.reshape(-1,1, 1)
推荐阅读
- android - ¿ 如何修复 android studio 中的侧边菜单功能?
- javascript - 如何在不重新编译的情况下更改包含文件的内容?
- go - 如何获取时间戳的毫秒值
- sql - 使用字段 SQL 中的当前文本更新多行上的文本字段
- python - 在 Flask 中导入 tensorflow 导致它挂起
- reactjs - React 测试库 - 嵌套组件使父级无法正确呈现
- c++builder - 标准库的 C++ Builder 10.3 链接器问题
- c - 如何使用 c 编程语言从每行格式为 (x1,y1) (x2, y2) 的文件中提取一些 x 和 y 坐标?
- sql - 为什么会出现空值以及组合变量的正确引用
- python - 使用 Python 向 MySQL 中的表添加新列时出错