首页 > 解决方案 > 如何将所有小于 5 的元素提高到 2 的幂,大于 5 - 到 3 的幂 Numpy

问题描述

我需要使用 Numpy 将所有小于 5 的元素提高到 2 的幂,大于 5 - 到 3 的幂

大批:

arr = np.array([[0, 2, 4, 6],
               [7, 9, 11, 13],
               [14, 16, 18, 20],
               [21, 23, 25, 27]],
               dtype=np.uint64)

标签: pythonnumpy

解决方案


到位:

mask_a = x < 5
mask_b = x > 5

x[mask_a] **= 2
x[mask_b] **= 3

如果你的意思是mask_b = x >= 5,你也可以这样做:

x = np.where(x < 5, x**2, x**3)

推荐阅读