最近的项目中大量涉及数据的预处理工作,对于ndarray的使用非常频繁。其中ndarray如何进行数值筛选,总结了几种方法。

1.按某些固定值筛选

如下面这段代码从,ndarray中可以筛选出数值等于3的子数组和其在原数组中的索引位置。

import numpy as np

arr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 12, 12, 3, 546, 1, 2])

print(np.where(arr==3))

print(arr[np.where(arr == 3)])

Output:

(array([ 5, 9, 14], dtype=int32),)

[3 3 3]

2.按多个固定值筛选

按上述方法筛选多个固定值也是可行的,将不同条件用括号括起来,之间打 | 即可。

import numpy as np

arr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 12, 12, 3, 546, 1, 2])

print(np.where((arr == 3) | (arr == 1)))

print(arr[np.where((arr == 3) | (arr == 1))])

Output:

(array([ 0, 1, 2, 5, 9, 14, 16], dtype=int32),)

[1 1 1 3 3 3 1]

3.按范围筛选

除了按固定值,我们还可以按一定的范围进行筛选

import numpy as np

arr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 12, 12, 3, 546, 1, 2])

print(np.where(arr > 3))

print(arr[np.where(arr > 3)])

Output:

(array([ 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], dtype=int32),)

[ 134 45 46 45 65 23424 234 12 12 546]

如果不需要index,还可以有更快的方法

import numpy as np

arr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 12, 12, 3, 546, 1, 2])

print(arr[arr > 3])

Output:

[ 134 45 46 45 65 23424 234 12 12 546]

那为什么还需要用np.where呢?因为索引可以满足不同数组间的筛选,比如有a, b 两个数组我们需要筛选出所有a == 0的b时即可使用np.where函数。

import numpy as np

a = np.array([0, 0, 1, 1, 0, 1, 1, 0, 1])

b = np.arange(len(a))

print(a)

print(b)

print(b[np.where(a == 0)])

Output:

[0 0 1 1 0 1 1 0 1]

[0 1 2 3 4 5 6 7 8]

[0 1 4 7]

以上这篇numpy ndarray 按条件筛选数组,关联筛选的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python 数列筛选_numpy ndarray 按条件筛选数组,关联筛选的例子相关推荐

  1. python筛选股票_GitHub - sundroid/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...

    stock_pick 这是一个通过设定选股条件来帮我们筛选股票的python程序,每个py文件里面都有详细的注释 最近炒股是买什么就跌,一直是亏损,作为学过python的人来讲怎么能容忍,之前也炒过股 ...

  2. python筛选股票_GitHub - mykazey/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...

    stock_pick 这是一个通过设定选股条件来帮我们筛选股票的python程序,每个py文件里面都有详细的注释 最近炒股是买什么就跌,一直是亏损,作为学过python的人来讲怎么能容忍,之前也炒过股 ...

  3. python程序化选股_GitHub - cat-steel/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...

    stock_pick 这是一个通过设定选股条件来帮我们筛选股票的python程序,每个py文件里面都有详细的注释 最近炒股是买什么就跌,一直是亏损,作为学过python的人来讲怎么能容忍,之前也炒过股 ...

  4. python文本筛选_使用python对多个txt文件中的数据进行筛选的方法

    使用python对多个txt文件中的数据进行筛选的方法 一.问题描述 筛选出多个txt文件中需要的数据 二.数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三.程序编写 impo ...

  5. python筛选法求素数讲解_埃氏筛选法求素数 Python

    代码如下 def _odd_iter(): # 构建奇数序列 从3开始 n = 1 while True: n = n + 2 yield n def _not_divisible(n): retur ...

  6. php筛选怎么做,thinkphp条件筛选 例子

    thinkphp条件筛选  例子 筛选其实很简单,就是确定好   筛选条件  和  url传参, 用程序的语言来说,就是确定好 $where  和  $cid,就可以 了 例子①: 根据如上方式筛选: ...

  7. 5.22 使用筛选功能快速过滤指定条件的数据 [原创Excel教程]

    原文:http://coolketang.com/staticOffice/5a97f32bac502e0032eb0624.html 1. 本节课将为您演示强大的筛选功能的使用.使用筛选功能可以实现 ...

  8. view-design 组件库表格筛选条件联动保留前面筛选条件的高亮状态

    view-design 组件库表格筛选条件联动保留前面筛选条件的高亮状态 问题:当第一个筛选条件选中,第二个筛选条件会联动变化,此时会导致整个 table 组件刷新,那么第一个筛选条件的高亮状态会被清 ...

  9. excel自动筛选_具有范围内条件的Excel自动筛选

    excel自动筛选 In Excel 2003, and earlier versions, an AutoFilter allows only two criteria for each colum ...

最新文章

  1. GNU/Linux平台上正则表达式的简单使用
  2. 细节无处不在!东莞网络推广分享哪些操作会影响网站优化效果?
  3. zookeeper 单机和集群搭建(windows环境+linux环境)
  4. 【Python】Matplotlib在概率密度曲线图的基础上绘制积分区域
  5. 为什么Linux与众不同?
  6. 内网配置DNS服务器,无域名,只有主机名
  7. TeamViewer 收不到邮件该怎么办?
  8. Qt5 程序启动画面图片效果
  9. WPE制作游戏外挂 更改封包
  10. EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字...
  11. Magick.NET图片处理:解决Tga格式图片转Jpg后上下镜像问题
  12. 南邮研究生matlab与仿真课件,南京邮电大学研究生院.doc
  13. ARCore:ARCore的初体验
  14. excel 外部链接 乱码_在Excel文件中查找外部链接
  15. c++中引用变量的使用
  16. 大唐波斯将军 机器人_波斯被灭,王子来大唐求援,唐高宗拒绝派兵,但让他做了禁军将领...
  17. win32 api简易实现ftp文件上传
  18. 大众点评CAT开源监控系统剖析
  19. java好玩的项目github_GitHub 上有些什么好玩的项目?
  20. RateLimiter配合ConcurrentHashMap对用户进行简单限流

热门文章

  1. Google广告投放技巧,开始Google广告投放
  2. 容器 I/O 性能诊断:到底哪个应用是带宽杀手?
  3. access表达式的用法
  4. ng-bind、ng-value和ng-model
  5. 国内免费ChatGPT
  6. 计算机基本键盘应用,计算机键盘基础知识
  7. Camera360 一款强大的手机拍照必备软件
  8. DAVINCI DM365-DM368开发攻略—U-boot-2010.12-rc2-psp03.01.01.39及UBL的移植 .
  9. VUE React Angular
  10. 【运筹优化】求解二维矩形装箱问题的算法合辑 + Java代码实现