python - 在遍历 ndarray 时访问相邻列中的元素
问题描述
我想将 an 列中每个元素的值乘以ndarray
下一列中相应元素的值。我可以这样做enumerate()
:
import numpy as np
s = np.array([[0, 1, 2], [3, 4, 5]], np.int32)
[i*s[1, c] for c, i in enumerate(s[0])]
# [0, 4, 10]
但这感觉很hacky,将它扩展到更深会更加hackier ndarrays
。在 NumPy 中是否有更好的方法来处理这样的迭代?我看了看strides
,但不清楚如何使用它进入另一列。
解决方案
您可以使用numpy.prod
.
这里的文档:https ://numpy.org/doc/stable/reference/generated/numpy.prod.html
import numpy as np
s = np.array([[0, 1, 2], [3, 4, 5]], np.int32)
np.prod(s, axis=0)
推荐阅读
- r - 使用 R 中的外部因子排序对数据框进行排序
- python - 带有 Matplotlib 的 iPython 笔记本仅绘制最后一个 fig.canvas.draw() 调用
- dialogflow-es - 如何让别人的安卓手机使用你未发布的 Google Action 的测试版?
- android - Kotlin mutableMap在android中自动更改?
- javascript - 在 Jekyll 中压缩/缩小 JavaScript 文件
- java - 将来自 JInterface Java 应用程序的二进制响应转换回 Elixir 中的字符串列表
- javascript - 使用 fetch() 函数返回未定义
- c++ - 无法将智能 ptr 移动到 std::function
- postgresql - 使用列表替换 regexp_replace 中的奇异模式
- javascript - 在 CORS 请求后未存储 ASPXAUTH cookie