Python where函数保姆级使用教程

 更新时间:2022年06月29日 09:05:05   作者:阿黎逸阳  
本文主要和大家介绍了详解Python中where()函数的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参,希望能帮助到大家

你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短。从此解放上班时间,研究更多更有效率的工作方法。进一步提升工作效率,让工作更出彩。这不是广告,这是实锤图片。

本文和你一起探索Python常用函数合集,让你以最短的时间明白这些函数的原理。也可以利用碎片化的时间巩固这些函数,让你在处理工作过程中更高效。

一、where函数的定义

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函数定义有更清晰的理解,接下来以具体实例进行阐述,方便大家理解记忆。

二、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的索引位置。

数列中大于5取‘m_5’否则取’lq_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’。

数列中小于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输出’吃苹果’,不满足输出’吃榴莲’。

数列中是2的倍数取一个值否则取另一个值

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’。

找出数据框中非0数据‍

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数,生成一个新的数列。

到此这篇关于Python where函数保姆级使用教程的文章就介绍到这了,更多相关Python where函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python打造爬虫代理池过程解析

    python打造爬虫代理池过程解析

    这篇文章主要介绍了python打造爬虫代理池过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python定时器(Timer)用法简单实例

    python定时器(Timer)用法简单实例

    这篇文章主要介绍了python定时器(Timer)用法,以一个简单实例形式分析了定时器(Timer)实现延迟调用的技巧,需要的朋友可以参考下
    2015-06-06
  • Python语言中的if语句详情

    Python语言中的if语句详情

    这篇文章主要介绍了Python语言中的if语句详情,每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试,下面文章介绍python语言的if语句详细内容,需要的小伙伴可以参考一下
    2022-02-02
  • 对Python中的条件判断、循环以及循环的终止方法详解

    对Python中的条件判断、循环以及循环的终止方法详解

    今天小编就为大家分享一篇对Python中的条件判断、循环以及循环的终止方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python读取配置文件-ConfigParser的二次封装方法

    Python读取配置文件-ConfigParser的二次封装方法

    这篇文章主要介绍了Python读取配置文件-ConfigParser的二次封装方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 五个简单有效的Python清理数据脚本分享

    五个简单有效的Python清理数据脚本分享

    通常情况下,在机器学习中的数据清理往往是一件令人头疼的事情,本文整理了一份清单,列出了5个常用的Python脚本,用于自动化数据清理,需要的可以参考一下
    2022-09-09
  • Python如何读取PDF文档(或TXT)

    Python如何读取PDF文档(或TXT)

    这篇文章主要介绍了Python如何读取PDF文档(或TXT),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 使用Matplotlib将图片保存为.tiff格式

    使用Matplotlib将图片保存为.tiff格式

    这篇文章主要介绍了使用Matplotlib将图片保存为.tiff格式问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 基于Python实现语音识别和语音转文字

    基于Python实现语音识别和语音转文字

    这篇文章主要为大家详细介绍了如何利用Python实现语音识别和语音转文字功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-09-09
  • python按照多个条件排序的方法

    python按照多个条件排序的方法

    今天小编就为大家分享一篇python按照多个条件排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论