python - 二维 numpy 数组中的阈值

标签 python numpy

我有一个形状为 512x512 的数组,其中第 i 个和第 j 个位置包含 0 到 100 之间的数字。现在我想在其他地方选择 array[i,j] < 25 和 0。我试过 array = array[where(array<25)] ,这给了我一个一维数组,但我想要二维数组。请帮我解决这个问题。

最佳答案

一个解决方案:

result = (array < 25) * array

第一部分array < 25为您提供一个相同形状的数组,该数组为 1(真),其中值小于 25,否则为 0(假)。与原始数组的逐元素乘法保留小于 25 的值并将其余值设置为 0。这不会更改原始数组

另一种可能性是将原始数组中所有 >= 25 的值设置为零:

array[array >= 25] = 0

关于python - 二维 numpy 数组中的阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719997/

相关文章:

python - Pandas 在 BytesIO 中将 df 存储到 csv

python - Pandas 聚合 - 列之间的计算

numpy - 如何从两个不同的神经网络获取两个变量列表

python - 如何在 Numpy 中构建 argsecondmax

python - 如何在 python 中平均数组数组?

python - 如何将 python 列表或 numpy 数组中的所有非零元素移动到一侧?

python - 在给定值之后屏蔽 numpy 数组

python - 如何检查一个数组的键的值是否存在于另一个数组中?

python - 如何安装 python 模块

python - Psycopg2 不提交更改