【Python入门第五十二天】Python丨NumPy 数组过滤

news2024/10/7 4:26:54

数组过滤

从现有数组中取出一些元素并从中创建新数组称为过滤(filtering)。

在 NumPy 中,我们使用布尔索引列表来过滤数组。

布尔索引列表是与数组中的索引相对应的布尔值列表。

如果索引处的值为 True,则该元素包含在过滤后的数组中;如果索引处的值为 False,则该元素将从过滤后的数组中排除。

实例

用索引 0 和 2、4 上的元素创建一个数组:

import numpy as np

arr = np.array([61, 62, 63, 64, 65])

x = [True, False, True, False, True]

newarr = arr[x]

print(newarr)

运行实例

上例将返回 [61, 63, 65],为什么?

因为新过滤器仅包含过滤器数组有值 True 的值,所以在这种情况下,索引为 0 和 2、4。

创建过滤器数组

在上例中,我们对 True 和 False 值进行了硬编码,但通常的用途是根据条件创建过滤器数组。

实例

创建一个仅返回大于 62 的值的过滤器数组:

import numpy as np

arr = np.array([61, 62, 63, 64, 65])

# 创建一个空列表
filter_arr = []

# 遍历 arr 中的每个元素
for element in arr:
  # 如果元素大于 62,则将值设置为 True,否则为 False:
  if element > 62:
    filter_arr.append(True)
  else:
    filter_arr.append(False)

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)

运行实例

实例

创建一个过滤器数组,该数组仅返回原始数组中的偶数元素:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

# 创建一个空列表
filter_arr = []

# 遍历 arr 中的每个元素
for element in arr:
  # 如果元素可以被 2 整除,则将值设置为 True,否则设置为 False
  if element % 2 == 0:
    filter_arr.append(True)
  else:
    filter_arr.append(False)

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)

运行实例

直接从数组创建过滤器

上例是 NumPy 中非常常见的任务,NumPy 提供了解决该问题的好方法。

我们可以在条件中直接替换数组而不是 iterable 变量,它会如我们期望地那样工作。

实例

创建一个仅返回大于 62 的值的过滤器数组:

import numpy as np

arr = np.array([61, 62, 63, 64, 65])

filter_arr = arr > 62

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)

运行实例

实例

创建一个过滤器数组,该数组仅返回原始数组中的偶数元素:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

filter_arr = arr % 2 == 0

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)

运行实例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

随想录Day57--动态规划: 647. 回文子串 , 516.最长回文子序列

回文串和最长回文子串,关键在于dp数组的定义,以及中间的关系式和递推公式怎么表达。代码其实很简单,但最重要的是思路!!! 回文子串dp是布尔型,遍历所有情况找到所有的true,最长回文…

蓝奥声核心技术分享——基于物联网的能源监测数据采集技术

1.技术背景 基于物联网的能源监测数据采集技术主要解决物联网能源监测节点面向目标对象以协同方式进行能源监测数据采集的问题,属于蓝奥声核心技术--边缘协同感知(EICS)技术的关键支撑性技术之一。该项技术涉及无线物联网边缘智能与测控的技术领域&…

【CocosCreator入门】CocosCreator组件 | EditBox(文本输入)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中的EditBox组件是一种用于实现用户输入交互的重要组件。它可以让用户在游戏中输入文字、数字等内容,并且可以对输入内容进行格式校验和处理。 目录 一、组件介绍 二、组件…

【Unity渲染】URP透明物体自身渲染穿插异常问题

背景: 对于URP中的某个物体,我们如果希望他正反面都可以被渲染。 通常会有两种解决方案: 1.将网格设置为双面网格。(此种情况Mesh.RecalculateNormals计算结果可能会异常,解决可参考网格法线生成异常解决&#xff0…

震惊!为了4680锂电池溯源,竟然做出这种事情

电池溯源,一直都是国家尤为重视的话题。 中国电子技术标准化研究院更是一再强调了:锂电编码标准编制和溯源平台初步建设方案。参会代表围绕锂电编码溯源体系建设有关问题开展了研讨,表示依托行业通用编码标准,建立完善的锂电全生…

【Linux学习】多线程——页表详解 | 线程概念 | 线程理解

🐱作者:一只大喵咪1201 🐱专栏:《Linux学习》 🔥格言:你只管努力,剩下的交给时间! 线程概念 🥞 页表详解🍞页目录和页表项 🥞线程🍞轻…

2023/4/18往日题目总结

搜索路径状态记录 1076. 迷宫问题 - AcWing题库 //以最简单的迷宫问题为例,如何记录走迷宫的路径,其实只需要记录一下状态即可 //也就是记录一下这个点是从哪个点来的,最后从终点开始输出即可(此时输出的是逆序) #in…

PHP+python+nodejs+springboot+vue 大学生提问论坛系统

在各学校的教学过程中,大学生提问论坛是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。 本文首先介绍了大学生提问论坛的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根…

微信小程序的生命周期函数有哪些,以及执行过程?

目录 1、应用的生命周期 2、页面的生命周期 3、组件的生命周期 4、执行顺序 小程序中,生命周期主要分成了三部分: ① 应用的生命周期 ② 页面的生命周期 ③ 组件的生命周期 1、应用的生命周期 在 app.js 里面调用,通过…

【hello Linux】理解文件系统

目录 创建文件的过程: 删除文件的过程: 创建目录的过程: 查看inode编号: 硬链接 软链接 Linux🌷 我们知道文件所有数据 文件内容 文件属性信息; 未打开的文件是被存放到磁盘/固态硬盘中的; …

0201概述-网关Gateway-微服务架构

文章目录 1 前言2 项目引入3 术语4 工作原理5 配置示例5.1 简洁配置5.2 展开配置 6 Predicate7 GatewayFilter7.1 StripPrefix GatewayFilter7.2 RequestRateLimiter GatewayFilter① pom 依赖② 配置按照请求IP 的限流 6 Global Filters7 网关超时配置7.① 配置全局路由超时时…

用java 实现二叉树创建

二叉树是数据结构中的一个重要的概念,二叉树的概念最早由 Linus Torvalds在1958年提出。他给出了一个树形数据结构,可以用来存储二叉树。每个节点的左子树和右子树都是空,中间层是子树。在一个给定的空间中,每一个节点都有两个左右…

Adobe认证证书含金量

当今数字时代,Adobe软件已经成为了许多人工作和创造的必备工具。为了证明自己在使用Adobe软件方面的专业能力,许多人选择参加Adobe认证考试并获取Adobe认证证书。 那么,这些证书的含金量究竟如何呢? 首先,需要指出的…

C++:Article:链接器(二):符号决议

链接器 1. C源文件都有些什么1.1 . 目标文件里有什么 2. 符号表 Symbol table2.1. 符号表的位置2.2. 符号的决议2.3. 符号决议过程 3. 实例说明3.1. 意外出现3.2 总结排查 在上篇文章中,我们介绍了 链接器基本概念,我们知道所有的应用程序否是连接器将所…

基于Python长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析

植被是陆地生态系统中最重要的组分之一,也是对气候变化最敏感的组分,其在全球变化过程中起着重要作用,能够指示自然环境中的大气、水、土壤等成分的变化,其年际和季节性变化可以作为地球气候变化的重要指标。此外,由于…

Cesium基础教程

一、概述 Cesium是国外一个基于javascript的地图引擎,支持3D、2D、2.5D形式的展示,可以自行绘制图形、高亮区域,并提供良好的触摸支持,并支持大多数的浏览器和移动端。 Cesium 是一个跨平台、跨浏览器的展示三维地球和地图的 ja…

【PWN刷题__ret2text】[CISCN 2019华北]PWN1

ret2text~ 前言 依旧是简单的ret2text 一、checksec查看 No canary found 没有开启栈溢出保护 二、IDA反汇编 双击进入func() 发现后门函数system("cat/flag");根据语义,函数提供了修改v1,判断v2是否等于11.28125,如…

【倒计时4天】金融服务用户体验专场沙龙开启预约

易观:数智化浪潮下,金融业务用户运营从线下向全渠道延伸。用户体验已成为⾦融机构打造差异化的重要抓手。此外,随着⽤户体验的全⾯数字化和精细化,⽤户体验贯穿于整个客户旅程中,做好用户体验管理,体现差异…

okio篇 1.Buffer

总览: Okio的两个基本概念:Source和Sink。Source对标基础io库中的InputStream,负责读数据。Sink对标OutputStream,负责写数据。 Source和Sink的内部实现,都是一个Buffer。Buffer从字面意思理解就是一个缓冲区,跟Buff…

『pyqt5 从0基础开始项目实战』12. 实现多线程循环检测数据的开始和停止(保姆级图文)

目录 最终效果导包和框架代码 main.py避免重复执行开始与停止事件表格更新事件 scheduler.py初始化开始线程停止线程在线程列表中删除线程TaskThread新建线程StopThread停止线程完整代码main.pythreads.pyscheduler.py 总结 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏&#…