Python中where()函数公式用法详解
作为一种高级编程语言,Python能够帮助你解决一整天的反复任务量,从而减少时间浪费,提高工作效率。本文将为你详细阐述Python中where()函数的用法,帮助你掌握这一常用函数。

where函数的概念
where()函数是numpy库中的一个函数,需要在使用前先导入numpy库。该函数有两种常见的启用方式:
- np.where(arr):在数组arr中查找“真”值(即非0值)的位置索引。
- np.where(cond, x, y):满足条件cond则返回x,否则返回y。
接下来将通过多个实例来展示where()函数的具体用法。
where函数实例
以下是where()函数的多个用例实例:
找出数组中大于某个数的位置索引
y = np.array([1, 5, 6, 8, 1, 7, 3, 6, 9]) print(np.where(y > 5))
输出结果为:(array([2, 3, 5, 7, 8], dtype=int64),),即返回数组y中大于5的位置索引。
根据条件,取不同的数值
y = np.array(range(1, 10)) print(y) print(np.where(y > 5, 'm_5', 'lq_5'))
输出结果为:
[1 2 3 4 5 6 7 8 9] ['lq_5' 'lq_5' 'lq_5' 'lq_5' 'lq_5' 'm_5' 'm_5' 'm_5' 'm_5']
该例子中,where()函数根据y数组中的数值,如果大于5就返回’m_5’,否则返回’lq_5’。
根据条件,取不同的数值(另一种实现方法)
print(np.where(np.arange(10) < 5, '吃苹果', '吃榴莲'))
输出结果为:
['吃苹果' '吃苹果' '吃苹果' '吃苹果' '吃苹果' '吃榴莲' '吃榴莲' '吃榴莲' '吃榴莲' '吃榴莲']
该例子中,where()函数根据np.arange(10)的数值是否小于5,分别返回’吃苹果’或’吃榴莲’。
根据条件,取不同的值
y = np.array(range(1, 10)) print(y) print(np.where(np.mod(y, 2) == 0, '2b', 'n_2b'))
输出结果为:
[1 2 3 4 5 6 7 8 9] ['n_2b' '2b' 'n_2b' '2b' 'n_2b' '2b' 'n_2b' '2b' 'n_2b']
该例子中,where()函数根据数组y中数值的奇偶性,分别返回’2b’或’n_2b’。
找出数组中非0的数据
x = np.array([[0, 1, 2], [3, 0, 0], [6, 0, 8]]) print(x[np.where(x)])
输出结果为:
[1 2 3 6 8]
该例子中,where()函数返回数组x中所有非0的数值。
总结
通过上述多个实例的讲解,相信你已经对Python中where()函数的使用有了更深入的了解。希望这篇文章对你有所帮助!
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6824.html
