对ndarray中符合条件的元素进行处理---numpy中的where函数

作用

where函数的主要作用是:根据给定的条件返回相对应的值。

使用方法

import numpy as np

np.where(condition, [x, y])

参数

  • condition:给定条件;
  • [x, y]:返回值,满足条件,返回x,否则返回y

实例1–返回满足条件的索引(下标)

在不指定返回值的条件下,默认返回满足条件的索引(下标)。

import numpy as np

a = np.arange(1,11)
a

输出:

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
np.where(a < 5)

输出:

(array([0, 1, 2, 3], dtype=int64),)

实例2—对满足条件数据进行处理

import numpy as np

a = np.arange(1,11)
a

输出:

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

对数组a,使用where函数,若是满足小于5的条件返回原值,否则翻10倍。

np.where(a < 5, a, 10*a)

输出:

array([  1,   2,   3,   4,  50,  60,  70,  80,  90, 100])