python - NumPy 切片 : All except one array entry

标签 python python-3.x numpy

从操作中排除一个 NumPy 数组条目的最佳方法是什么? 我有一个包含 n 值的数组 x 并且想在调用 numpy.prod(x) 时排除第 i 条目。我知道 MaskedArray,但还有其他/更好的方法吗?

最佳答案

我认为最简单的是

np.prod(x[:i]) * np.prod(x[i+1:])

这应该很快,并且在您不想或不能修改 x 时也可以使用。

如果 x 是多维的并且 i 是一个元组:

x_f = x.ravel()
i_f = np.ravel_multi_index(i, x.shape)
np.prod(x_f[:i_f]) * np.prod(x_f[i_f+1:])

关于python - NumPy 切片 : All except one array entry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48061508/

相关文章:

python - 如何将列表python计算成矩阵相似度

Python PIL 组合图像生成全黑图像

Python数学抽认卡程序

python - 批处理文件重命名: zero padding time with regex?

python - 什么相当于 Python 中的 JavaScript promise.all()?

postgresql - 如何将 pandas DataFrame 插入现有的 PostgreSQL 表?

python-3.x - 如何使用 cv2.waitKey() 等待两个不同的键

Python:如何导入 .csv 并通过代码运行内容?

python - 大小可变的数组

python - 正则表达式:删除点之前长度为 1-3 的字母