python:如果我们想把numpy数组中小于10的数字替换为0,把大于10的替换为10,应该怎么做??

it2023-02-16  77

下面内容讲解不够清楚可以 点击连接看更详细思路:

数据可视化之 NumPy——ndarray (详细集全)

思路: 1、创建二维数组 2、通过布尔索引确定 True or False,替换0\10 3、重新赋值 4、输出数组 5、用三目运算 where

arr = np.arange(24).reshape(4,6) print("替换前数组:",arr) print(arr>10) arr[arr<10] =0 arr[arr>10] =10 print("替换后数组:",arr)

numpy提供了一个三元运算符:where() where()函数是三元表达式 x if condition else y 的矢量化版本。 其格式为:np.where(condition, x, y) # 用 where()来实现上述需求 arr = np.arange(24).reshape(4,6) print("替换前的数组arr = \n", arr) arr0 = np.where(arr<10, 0, 10) print("替换后的数组arr = \n", arr0)

最新回复(0)