numpy ndarry根据条件筛选数据
本篇文章解决:如何通过某列或某行数据满足一定条件来筛选ndarry中的数据,主要采用条件设置得到的布尔索引数组来筛选ndarry数据。
对于一维的ndarry:
a=np.array([1,2,3])
print(a==1) #打印结果为:[ True False False],即为一个布尔类型的数组# 将布尔类型的数组作为索引会返回布尔值为Ture对应位置的数据
a[a==1] #其值为[1]
对于二维的ndarry:
# 当a为二维数组时,如果想对其中一行,或者一列利用布尔索引
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a[[True,False,True],1])
print(a[0,[True,False,True]])
结果:
[2 8]
[1 3]
注意,布尔索引的长度要和二维数组列的元素个数和行的元素个数相同
实际应用:
对于下面的数据,我们要筛选最后一列中数据等于0的样本
a = np.array([[1.0, 2.0, 2.2, 0],[2.0, 2.1, 3.1, 1],[1.0, 1.2, 1.5, 2],[4.1, 3.1, 5.2, 0]])
我们可以看出来答案是:[[1.0, 2.0, 2.2, 0], [4.1, 3.1, 5.2, 0]]
具体用代码完成:首先可以利用a[:, -1]
获取最后一列数据,然后利用条件a[:, -1] == 0
筛选出满足该条件的行,因为a[:, -1] == 0
返回的是一个布尔数组,该序列与每行数据对应。然后通过利用该布尔数组作为a的行索引,便可以获取到满足条件的每行样本,然后再控制a的列索引即可以获取到想要的数据,即a[a[:, -1] == 0, :]
print(a[a[:, -1] == 0, :])
numpy ndarry根据条件筛选数据相关推荐
- python基础一 -------如何在列表字典集合中根据条件筛选数据
如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) 1 ...
- R语言对dataframe行数据进行筛选(row selection)、筛选数据行、基于条件筛选数据行
R语言对dataframe行数据进行筛选(row selection).筛选数据行.基于条件筛选数据行 目录
- 向内存中连续存入数据_实例35_在Excel中按条件筛选数据并存入新的表
老板想要看去年每月领料数量大于1000的数据.手动筛选并复制粘贴出来,需要重复操作12次,实在太麻烦了,还是让Python来做吧.磨刀不误砍柴工,先整理一下思路: 1. 读取原表,将数量大于1000的 ...
- 【Python】根据多个列同时进行多条件筛选数据
import pandas as pddata = pd.DataFrame({'a': [1, 2, 2, 4], 'b': [0, 5, 5, 6], 'c': [3, 5, 2, 1]}) pr ...
- 在Excel中按条件筛选数据并存入新的表
案例 老板想要看去年每月领料数量大于1000的数据.手动筛选并复制粘贴出来,需要重复操作12次,实在太麻烦了,还是让Python来做吧.磨刀不误砍柴工,先整理一下思路: 1·读取原表,将数量大于100 ...
- python多条件筛选数据-Python实现多条件筛选目标数据功能【测试可用】
本文实例讲述了Python实现多条件筛选目标数据功能.分享给大家供大家参考,具体如下: python中提供了一些数据过滤功能,可以使用内建函数,也可以使用循环语句来判断,或者使用pandas库,当然在 ...
- python多条件筛选数据filter_Python如何用filter函数筛选数据
一.filter函数简介 filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tupl ...
- pandas按若干个列的组合条件筛选数据
还是用图说话 A文件: 比如,我想筛选出"设计井别"."投产井别"."目前井别"三列数据都为11的数据,结果如下: 当然,这里的筛选条件可以 ...
- mybatis plus 条件筛选数据
//创建QueryWrapper对象QueryWrapper<User> wrapper = new QueryWrapper<>();//通过QueryWrapper设置条件 ...
- python实现按条件筛选数据
客户需求 查看某一个销售人员的销售额 数据存储情况如下图所示: 代码实现查看丽丽的销售额 import pandas as pddf1 = pd.read_excel("test.xlsx& ...
最新文章
- application配置token_Kerrigan:配置中心管理UI的实现思路和技术细节
- HDU 2181 哈密顿绕行世界问题【DFS】
- openssl passwd之openssl命令详解
- php redis decr_对于高并发的问题你知道怎么处理吗?php接口如何处理并发问题
- [js] 请写一个性能最好的深度克隆对象的方法
- Sharepoint学习笔记—ECM系列—1 Content Type Syndication
- 自定义评分器Similarity,提高搜索体验(转)
- 基于JAVA+SpringMVC+MYSQL的求职招聘管理系统
- python 黏贴版 pyperclip
- 从主机名谈Hadoop集群管理
- 从零开始创建react项目的三种方法(转)
- android沉浸式状态栏封装—教你玩出新花样
- 20200601每日一句
- SQLite:关于日期的字段的优化将给Julia带来大幅效率提升
- 税务会计实务【15】
- 五角星符号怎么打出来
- iOS 12+ ReplayKit 系统录屏(一)
- 免疫荧光实验相关的注意事项汇总
- error: macro LIST_HEAD passed 2 arguments, but takes just 1
- sqoop 数据导入HDFS
热门文章
- ZZUOJ 公主与骑士 (BFS)
- 用指针写藏头诗c语言,智能藏头诗小程序:小程序可以自动写诗啦!为“Ta”写首诗表白~...
- 【数据库】数据库错题集(一)
- 央视力荐的这套书,让5岁孩子看漫画,秒懂物理,学习早“开窍”!
- 疑问代词who和whom的用法
- mysql strict_MySQL模式 Strict Mode知识点详解
- 严格模式 Strict Mode,与ES2020同步
- 字根校对-中文校对软件
- “我在网红书店,从来不看书”
- python微信群发助手在哪_python 微信群发_Python-Pyqt5编写微信群发软件