(numpy where) 详解Numpy where()(返回符合条件元素的索引)函数的作用与使用方法
Numpy库中的where()函数是一种强大的工具,它可以基于条件返回满足条件的元素索引。在Numpy中,where()函数的使用方法如下:
numpy.where(condition[, x, y])
condition
: 是一个条件表达式,表达式的结果是一个bool型的numpy数组x, y
是可选参数。当满足condition
条件时,返回的是对应元素的x
,否则是y
。如果只有condition
参数,则函数返回满足条件元素的索引。
使用Numpy where()的基本步骤如下:
- 首先,你需要导入numpy库,代码如下:
import numpy as np
- 创建一个numpy array或者使用已有的numpy array,代码如下:
arr = np.array([11, 12, 13, 14, 15, 16, 17, 15, 11, 12, 14, 15, 16, 17])
- 使用numpy.where()函数,传入你想要的条件,代码如下:
result = np.where(arr > 15)
在这个例子中,条件是数组中的元素大于15。where()函数会返回一个包含索引的元组,这些索引指向满足条件的元素。
- 打印出结果:
print('元素大于 15 的索引值 : ', result)
完整的代码如下:
import numpy as np
arr = np.array([11, 12, 13, 14, 15, 16, 17, 15, 11, 12, 14, 15, 16, 17])
result = np.where(arr > 15)
print('元素大于 15 的索引值 : ', result)
这段代码会返回一个服务于warehouse的索引元组。
现在,如果你想根据满足条件的索引并返回一个新的数组,你也可以传递两个可选参数(x, y)到where()函数。当condition为真时,取x的值,为假时,取y的值。
import numpy as np
arr = np.array([11, 12, 13, 14, 15, 16, 17, 15, 11, 12, 14, 15, 16, 17])
result = np.where(arr > 15, '满足', '不满足')
print('返回的新数组 : ', result)
运行上述代码,返回满足条件的新数组:’满足’表示满足arr > 15条件,’不满足’表示不满足这个条件。
(python 转置) python 实现二维列表转置 使用zip实现Python二维列表转置:转换矩阵 全网首发(图文详解1)
(python apply) 在Pandas Lambda函数中使用Apply,有多个if语句 Pandas 中 lambda 函数与 if 语句的结合 全网首发(图文详解1)