python - Python 中 NumPy.dot() 和 '*' 操作的区别
解决方案
a * b
是np.multiply(a, b)
。np.dot
是点积,np.multiply
仅当操作数之一是标量(数字,与向量或矩阵相对)时才相同。
矩阵示例
>>> a = np.arange(0, 9).reshape(3, 3)
>>> b = np.arange(10, 19).reshape(3, 3)
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> b
array([[10, 11, 12],
[13, 14, 15],
[16, 17, 18]])
>>> a * b # elementwise multiplication
array([[ 0, 11, 24],
[ 39, 56, 75],
[ 96, 119, 144]])
>>> np.multiply(a, b) # elementwise multiplication
array([[ 0, 11, 24],
[ 39, 56, 75],
[ 96, 119, 144]])
>>> a @ b # matrix multiplication
array([[ 45, 48, 51],
[162, 174, 186],
[279, 300, 321]])
>>> np.dot(a, b) # matrix multiplication
array([[ 45, 48, 51],
[162, 174, 186],
[279, 300, 321]])
推荐阅读
- ldap - OpenLDAP - 如何授予写访问权限但不修改或删除?有什么选择吗?
- mysql - 从 WordPress 数据库中删除特定的 meta_keys
- android - 有没有办法在 JavaFX 和 android 中将 HTML 转换为图像,从而动态地找到图像相对于 HTML 的高度?
- python - 如何舍入熊猫数据框中的索引值
- node.js - sh: cross-env: command not found(cross-env已经安装)
- python - 运行 gtts 代码时,一些行(写在 gtts 代码之前)在播放音频后运行。我希望在播放音频之前运行一些代码行
- javascript - 动画在平面列表中从开始到结束时开始
- javascript - 如何在 python3 中使用 selenium 在 javascrip 站点中选择下拉列表?
- r - 如何使用数据框中的数字为字符串列表分配不同的值?
- gemfire - 对apache geode中的多个键只调用一次数据源的方法