python - 如何将函数(矩阵->标量)应用于3暗淡python中的numpy数组
问题描述
假设我有 3 维 numpy 数组a
,例如如下:
import numpy as np
a = np.random.randn(3, 3, 3)
如何将(矩阵->标量)类型函数应用于a
?更具体地说,我想以一种计算效率更高的方式做如下等效的事情:
[np.linalg.det(e) for e in a]
解决方案
np.linalg.det(a)
似乎工作得很好,并且运行时间明显更好:
a = np.random.rand(100,3,3)
%timeit -n 100 [np.linalg.det(e) for e in a]
626 µs ± 26.9 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%timeit -n 100 np.linalg.det(a)
33.9 µs ± 7.08 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
推荐阅读
- python - Python 课程:2 人纸牌游戏,大多数王牌获胜
- python - Python Zybooks 实验室函数定义输入
- python - 使用 websocket 数据每隔一分钟触发功能
- swift - 使用 Swift 和 Combine 链接 + 压缩多个网络请求
- android - 小米手机安卓默认通知边距
- shopify - 如何在 Shopify 上添加 Юmoney 、 Qiwi 等支付图标?
- microservices - 我应该什么时候对 Pub-Sub 使用至少一次交付?
- c - 如何修复由 C 中的 struct inside struct 引起的不完整类型错误?
- java - Hadoop MapReduce 无输出
- javascript - 我在开放天气图中的图标没有改变