Numpy--布尔索引

2023-11-12

#布尔索引:
布尔索引是通过相同数组上的True还是False来进行提取的。提取的条件可以有多个,那么如果有多个,可以使用&来代表且,用来代表或,如果有多个条件,那么每个条件要使用圆括号括起来。
布尔运算也是矢量的,比如以下代码:

a1 = np.arange(0,24).reshape((4,6))
print(a1<10) #会返回一个新的数组,这个数组中的值全部都是bool类型
> [[ True  True  True  True  True  True]
 [ True  True  True  True False False]
 [False False False False False False]
 [False False False False False False]]

这样看上去没有什么用,假如我现在要实现一个需求,要将a1数组中所有小于10的数据全部都提取出来。那么可以使用以下方式实现:

a1 = np.arange(0,24).reshape((4,6))
a2 = a1 < 10
print(a1[a2]) #这样就会在a1中把a2中为True的元素对应的位置的值提取出来

其中布尔运算可以有!=、==、>、<、>=、<=以及&(与)和|(或)。示例代码如下:

a1 = np.arange(0,24).reshape((4,6))
#必须带括号
a2 = a1[(a1 < 5) | (a1 > 10)]
print(a2)

值的替换:

利用索引,也可以做一些值的替换。把满足条件的位置的值替换成其他的值。比如以下代码:

a1 = np.arange(0,24).reshape((4,6))
a1[3] = 0 #将第三行的所有值都替换成0
print(a1)

也可以使用条件索引来实现:

a1 = np.arange(0,24).reshape((4,6))
a1[a1 < 5] = 0 #将小于5的所有值全部都替换成0
print(a1)

还可以使用函数来实现:

where函数

a1 = np.arange(0,24).reshape((4,6))
a2 = np.where(a1 < 10,1,0) #把a1中所有小于10的数全部变成1,其余的变成0
print(a2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Numpy--布尔索引 的相关文章

  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • MATLAB配置m_map工具箱绘制格网图的注意事项

    一般而言我们是使用gmt绘制各类地球物理的图件 但是需要入门 因此我们可以选择m map工具箱来达到相同的目的 m map官网 需要科学上网 M Map A Mapping package for Matlab ubc ca 下载好后可以进
  • AngularJS中使用ngModal模态框

    https blog csdn net u013360850 article details 54318156 AngularJS中使用ngModal模态框 在AngularJS中使用模态框需要引用的文件 angular js 1 5 5
  • 页面动态设置锚点方法

    1 页面动态设置锚点 可以根据页面的不同点击位置设置图片 使用案例 在底部有视频播放区域 点击某个视频进入视频播放并且页面刷新后自动跳转到描点位置
  • 硬件电路设计--运算放大器(三)应用二滤波

    文章目录 前言 一 有源滤波电路 二 低通滤波器 2 1 一阶低通无源滤波器 2 2 一阶低通有源滤波器 2 2 二阶低通有源滤波器 低通滤波器的高频馈通 三 高通滤波器 3 1 有源滤波器 3 2 三阶高通 四 带通滤波器 高Q值带通 心
  • 基于vue的图片查看插件v-viewer

    效果如图所示 github地址https github com mirari v viewer 使用方法很简单具体参考gitHub最靠谱
  • 模板方法模式:简化代码,提高复用性

    在软件开发中 我们经常会遇到一些算法或业务流程 其中的步骤或顺序是固定的 但某些步骤的具体实现方式可能会有所不同 这时 模板方法模式就能派上用场 模板方法模式是一种行为设计模式 它定义了一个算法的骨架 将某些步骤的具体实现延迟到子类中 通过
  • 时间序列的特征工程——一些总结

    一个说法在最前面 创造新的特征是一件十分困难的事情 需要丰富的专业知识和大量的时间 机器学习应用的本质基本上就是特征工程 Andrew Ng 大佬整理的一个时间序列预测方法总结 时间序列预测方法总结 知乎 特征工程的流程介绍 关于做特征工程
  • Bi-LSTM原理及TensorFlow实现序列标注

    本文整理了Bi LSTM的原理 并在静觅博客静觅 TensorFlow Bi LSTM实现序列标注 的基础上对TensorFlow 搭建一个Bi LSTM来处理序列标注问题的代码进行了详细的注释 Bi LSTM理解 RNN的意思是 为了预测
  • oracle-04 分页查询

    原文转载自 https www cnblogs com wuxu p 11198764 html oracle的分页查询 使用 rownum关键字 oracle对外提供的自动给查询结果编号的关键字 与每行的数据没有关系 注意 rownum关
  • pytest

    1 概述 pytest是一个非常成熟的全功能的Python测试框架 主要特点有以下几点 1 简单灵活 容易上手 文档丰富 2 支持参数化 可以细粒度地控制要测试的测试用例 3 能够支持简单的单元测试和复杂的功能测试 还可以用来做seleni
  • 2021.11.18总结

    数据结构递归 进一步了解了什么是递归 什么时候使用递归 递归模型 递归出口 递归体 了解了如何去设计递归算法
  • MySQL数据库中的架构之内存架构

    MySQL5 5 版本开始 默认使用InnoDB存储引擎 它擅长事务处理 具有崩溃恢复特性 在日常开发中使用非常广泛 内存结构中 主要分为这么四大块儿 Buffer Pool Change Buffer Adaptive Hash Inde
  • 饥荒 服务器没有响应,饥荒服务器卡怎么办 饥荒服务器卡顿解决方法

    随着TGP版饥荒的发售 想必不少玩家都把这款游戏见捡起来摸了 一些玩家在和其他玩家联机进行游戏的时候出现了卡顿的现象 那么饥荒服务器卡怎么办呢 下面小编就为大家带来饥荒服务器卡顿解决方法 一起来看看吧 随着TGP版饥荒的发售 想必不少玩家都
  • hadoop的datanode启动不了

    启动hadoop 2 6遇到的datanode启动不了 分类 hadoop 2014 12 22 12 25 2678人阅读 评论 2 收藏 举报 hadoop 查看日志如下 2014 12 22 12 08 27 264 INFO org
  • c++(练习题)————无重复字符的最长子串

    题目描述 给定一个字符串 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 bbbbb 输出 1 解释 因为无重复字符的最
  • 解决vue项目中出现的console报错问题

    解决vue项目中出现的console报错问题 问题描述 在vue项目中 使用console log输出是总是会报错 使用如下 控制台报错如下 页面报错如下 vue项目中使用的版本如下 package json文件 产生原因 ESLint代码
  • C#中 ??、 ?、 ?: 、?.、?[ ]

    1 可空类型修饰符 引用类型可以使用空引用表示一个不存在的值 而值类型通常不能表示为空 例如 string str null 是正确的 int i null 编译器就会报错 为了使值类型也可为空 就可以使用可空类型 即用可空类型修饰符 来表
  • 缓存系列文章--8.热点key问题(mutex key)

    转载请注明出处哈 http carlosfu iteye com blog 2269678 一 引出热点key问题 我们通常使用 缓存 过期时间的策略来帮助我们加速接口的访问速度 减少了后端负载 同时保证功能的更新 一般情况下这种模式已经基
  • 2020-04-21

    实验2 3 1 求1到100的和 10分 本题要求编写程序 计算表达式 1 2 3 100 的值 输入格式 本题无输入 输出格式 按照以下格式输出 sum 累加和 代码 int main int i 0 int sum 0 for i 0
  • Numpy--布尔索引

    布尔索引 布尔索引是通过相同数组上的True还是False来进行提取的 提取的条件可以有多个 那么如果有多个 可以使用 来代表且 用来代表或 如果有多个条件 那么每个条件要使用圆括号括起来 布尔运算也是矢量的 比如以下代码 a1 np ar