numpy - 自定义乘法和numpy
问题描述
a
假设我在两个 Python 对象和之间有自己的乘法b
,我们称之为my_multiplication(a, b)
。
如何使用 numpy where my_multiplication
is executed 而不是通常执行矩阵乘法*
?这甚至可能吗?
附录:那我还能从 numpy 的速度中受益吗?
解决方案
您可以在您的函数上使用np.vectorise来让您的自定义乘法函数使用所有常见的 numpy 功能,例如广播。
def my_multiplication(a, b):
#your code that works on multiplying 2 numbers
return c
v_my_multiplication = np.vectorize(my_multiplication)
v_my_multiplication([1, 2, 3], [1, 6])
#Will now work for np.array instead of just 2 numbers and utilize the broadcasting and vectorized implementation benefits that numpy has to offer.
推荐阅读
- php - 使用 PHPMailer 从 ionic 发送电子邮件时收到错误响应
- javascript - 如何在 Nuxt.js 中使用“env”属性来获取 newapi?
- fortran - 为什么 lapack dtrmm.f 似乎无法正常工作?
- sql - 按条件小于分组列的clickhouse分组
- php - PHP 是否支持命名闭包?
- web-scraping - Webscraping bs4 - 将来自不同 URL 的结果排序到表中
- sql - 展平 laravel 嵌套关系(父级到子级)获取所有子级
- python - Python - 安装 urllib
- api - 响应代码:400 响应消息:Bad Request Jmeter api testing with JIRA with POST method
- javascript - 我在表单上添加了一个事件侦听器,但它刷新了页面