交换NumPy数组中的最小值和最大值



在我的NumPy 2D数组中有任何交换最小值和最大值的方法吗

import numpy as np
n = int(input("How many arrays: "))
m = int(input("How many numbers: "))
rng = np.random.default_rng()
arr = rng.random((n, m))
print(arr)

使用以下片段,您首先确定数组arr中的最小值和最大值,然后找到所有最大值和最小值的位置(数组中可能有多个条目包含例如最大值(,并将它们存储在布尔数组max_mask/min_mask中,最后使用这些布尔数组对原始数组进行索引并插入新值。

max = arr.max()
min = arr.min()
max_mask = arr == max
min_mask = arr == min
arr[max_mask] = min
arr[min_mask] = max

最新更新