如何仅剪辑 numpy 数组的某些值?

问题描述

我有一个数组(100,72),我只需要裁剪某些列的值。例如,我希望只有从 15 到第 72 列的列中的负值设置为 0 我已经看到使用 np.clip() 函数是不可能做到这一点的。 有没有快速方法或者我必须分解和重新组装数组?

解决方法

这样做:

arr[:,15:73] = np.clip(arr[:,15:73],a_min = 0)

一般情况下,如果cols是列索引列表,可以使用arr[:,cols]对指定的列进行选择性的操作。参考:numpy indexing