Python中where函数怎样定义和使用
Admin 2022-08-01 群英技术资讯 820 次浏览
今天这篇我们来学习和了解“Python中where函数怎样定义和使用”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“Python中where函数怎样定义和使用”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!本文和你一起探索Python常用函数合集,让你以最短的时间明白这些函数的原理。也可以利用碎片化的时间巩固这些函数,让你在处理工作过程中更高效。
where函数是numpy库中的,通常需要先加载numpy库,再调用该函数。函数的基本调用语法有两种,一种是:
import numpy as np np.where(arry)
此时,np.where函数输出arry中“真”值的坐标(‘真’也可以理解为非0)。或者说np.where函数从arry中返回满足特定条件的元素。比如,它会返回满足特定条件数值的索引位置。
另一种是:
import numpy as np np.where(cond, x, y)
此时,np.where函数满足cond条件输出x,不满足输出y。为了让大家对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),)
此时,np.where函数返回数值大于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']
y是一个初始值为1,终值为9,步长为1的等差数列。此时,np.where函数满足y>5输出’m_5’,不满足输出’lq_5’。
print(np.arange(10)) print(np.where(np.arange(10)<5, '吃苹果', '吃榴莲'))
得到结果:
[0 1 2 3 4 5 6 7 8 9]
[‘吃苹果’ ‘吃苹果’ ‘吃苹果’ ‘吃苹果’ ‘吃苹果’ ‘吃榴莲’ ‘吃榴莲’ ‘吃榴莲’ ‘吃榴莲’ ‘吃榴莲’]
此时,np.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']
此时,np.where函数满足y中数值除以2余数为0输出’2b’,不满足输出’n_2b’。
x = np.array([[0, 1, 2], [3, 0, 0], [6, 0, 8]]) print(x[np.where(x)])
得到结果:
[1 2 3 6 8]
此时,np.where函数取出x中所有非0数,生成一个新的数列。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
我们平时在用python写一些脚本作为工具时,经常需要在其他脚本中加载该工具,这篇文章主要给大家介绍了关于Python中添加搜索路径的相关资料,需要的朋友可以参考下
这篇文章主要介绍了python3 queue多线程通信,Queue 对象已经包含了必要的锁,所以你可以通过它在多个线程间多安全地共享数据,更多相关内容需要的朋友可以参考一下下文文章内容
在日常工作中,PPT制作是常见的工作。这篇文章主要为大家详细介绍了如何利用Python自动生成PPT,文中的示例代码讲解详细,感兴趣的可以了解一下
浏览器到WSGI Server:浏览器发送的请求会先到WSGI Server;environ:WSGI Server会将HTTP请求中的参数等信息封装到environ(一个字典)中。
这篇文章主要weidajia 介绍了python目标检测非极大抑制NMS与Soft-NMS实现过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008