【发布时间】:2021-07-08 06:05:24
【问题描述】:
我有一个形状为(32, 128, 128) 的多维 NumPy 数组。对于此数组中的每个条目(形状为(128, 128),我想检查其中存在的 80% 的值是否大于阈值,例如 0.5。
目前,我正在做这样的事情:
for entry in entries: # entries: (32, 128, 128)
raveled = np.ravel(entry) # entry: (128, 128)
total_sum = (raveled > 0.5).sum()
proportion = total_sum/len(raveled)
if proportion > 0.8:
...
我似乎无法找到一种有效的方法来做到这一点。任何帮助将不胜感激。
【问题讨论】:
-
什么是“条目”?里面或外面是什么?
-
一个条目是一个形状数组 (128, 128)。该数组由从具有 0 均值和单位方差的正态分布中提取的浮点数组成。
-
arr>0.5创建一个具有相同形状的布尔数组。np.sum可用于计算 'True/1' 值的数量。np.sum(和类似的ufunc采用axis元组来指定一个或多个维度的总和。 -
谢谢。你能提供一个最小的例子吗?
-
我也添加了刚刚尝试的内容。
标签: python numpy data-processing