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& ...
最新文章
- 在Ubuntu 8.04上安装Domino R8.02
- 南蛮图腾(洛谷P1498题题解,Java语言描述)
- 千寻和省cors精度对比_测量员新手上路攻略:解析省CORS和千寻CORS账号区别及其如何选择运用...
- 疯狂开店! 华为不甘心只卖车 | 次世代车研所
- python 编码解码原理_Python的编码解码问题
- 简单实现系统托盘 - 回复 闪 的问题
- iOS 使用符号断点定位警告约束警告-[LayoutConstraints] Unable to simultaneously satisfy constrai...
- Javascript中this、prototype、constructor的理解
- Android 系统服务列表
- C++11多线程 unique_lock详解
- 【音视频】使用DXGI实现多屏幕采集(4-2)
- 行路难PPT计算机考试,《行路难》公开课.ppt
- k8s-kubeadm安装(五 网络插件calico)
- 搜索推荐广告三者异同
- Unity3D——AR小游戏
- 论印度为什么软件行业这么发达(搞笑篇)
- python编程从入门到实践练习15-3:分子运动
- 09 如何通过搜索引擎寻找海量的免费商用图片
- [scRNA-seq]单细胞转录因子分析——SCENIC算法简析
- 【C++11】 之 std::unique_ptr 详解