numpy array找出符合条件的数并赋值的示例代码


Posted in Python onJune 01, 2022

在python中利用numpy array进行数据处理,经常需要找出符合某些要求的数据位置,有时候还需要对这些位置重新赋值。这里总结了几种找出符合条件数据位置的方法。

这里以一个8*8的随机数组举例,来找出大于零的数。

import numpy as np
a = random.randint(-10,10,size=(8,8))
>>>
array([[  5,   5,  -7,   7,  -8,  -7,   0,  -8],
       [ -4,   9,   8,  -3,   6,  -4,  -7,  -5],
       [  7,   0,   6,   6,  -4,  -2,  -8,   2],
       [  6,  -5,   8,   4,   7,  -8,  -4,  -4],
       [  0,   1,  -1,  -8,  -1,   9,   4,   1],
       [  4,  -8,  -1,  -8,  -2,  -6,  -1,   9],
       [  7,   7,   9,  -9,   4,   8,   3,   1],
       [ -8,   4,  -2,   4,  -1,  -4, -10,   0]])

1.直接利用条件索引

location= a[a>0]

print(location)
>>> array([5, 5, 7, 9, 8, 6, 7, 6, 6, 2, 6, 8, 4, 7, 1, 9, 4, 1, 4, 9, 7, 7, 9,
       4, 8, 3, 1, 4, 4])
# 直接输出了大于0的数字
#--------------------------------------------------------------#

# 我们可以用下面的方法将小于0的数字都设置为零,留下大于零的数字
b = a.copy()
b[b<=0]=0

print(b)
>>>
[[5 5 0 7 0 0 0 0]
 [0 9 8 0 6 0 0 0]
 [7 0 6 6 0 0 0 2]
 [6 0 8 4 7 0 0 0]
 [0 1 0 0 0 9 4 1]
 [4 0 0 0 0 0 0 9]
 [7 7 9 0 4 8 3 1]
 [0 4 0 4 0 0 0 0]]
 # 这就将所有大于零的保留了下来

#--------------------------------------------------------------#

#还可以此类推,将大于零的位置都设置成1,可得到大于一的位置
b = a.copy()
b[b>0] = 1
b[b<=0] = 0
print(b)
>>>
[[1 1 0 1 0 0 0 0]
 [0 1 1 0 1 0 0 0]
 [1 0 1 1 0 0 0 1]
 [1 0 1 1 1 0 0 0]
 [0 1 0 0 0 1 1 1]
 [1 0 0 0 0 0 0 1]
 [1 1 1 0 1 1 1 1]
 [0 1 0 1 0 0 0 0]]

2.利用numpy.where()

# results = np.where(condition, [x, y])
# 当条件为真时,对应位置返回x中的值,条件不成立则返回y中的值
c = np.where(a>0,a,0)  #满足大于0的值保留,不满足的设为0
print(c)
>>>
[[5 5 0 7 0 0 0 0]
 [0 9 8 0 6 0 0 0]
 [7 0 6 6 0 0 0 2]
 [6 0 8 4 7 0 0 0]
 [0 1 0 0 0 9 4 1]
 [4 0 0 0 0 0 0 9]
 [7 7 9 0 4 8 3 1]
 [0 4 0 4 0 0 0 0]]

# 大于零为1小于零为0
c = np.where(a>0,1,0)  #满足大于0的值保留,不满足的设为0
print(c)
[[1 1 0 1 0 0 0 0]
 [0 1 1 0 1 0 0 0]
 [1 0 1 1 0 0 0 1]
 [1 0 1 1 1 0 0 0]
 [0 1 0 0 0 1 1 1]
 [1 0 0 0 0 0 0 1]
 [1 1 1 0 1 1 1 1]
 [0 1 0 1 0 0 0 0]]

3.直接逻辑运算

a > 0   # 得到判断矩阵
array([[ True,  True, False,  True, False, False, False, False],
       [False,  True,  True, False,  True, False, False, False],
       [ True, False,  True,  True, False, False, False,  True],
       [ True, False,  True,  True,  True, False, False, False],
       [False,  True, False, False, False,  True,  True,  True],
       [ True, False, False, False, False, False, False,  True],
       [ True,  True,  True, False,  True,  True,  True,  True],
       [False,  True, False,  True, False, False, False, False]], dtype=bool)

到此这篇关于numpy array找出符合条件的数并赋值的示例代码的文章就介绍到这了,更多相关numpy array赋值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Python 相关文章推荐
python打开网页和暂停实例
Sep 30 Python
Python如何import文件夹下的文件(实现方法)
Jan 24 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
理论讲解python多进程并发编程
Feb 09 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
在Pandas中处理NaN值的方法
Jun 25 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
解析Python3中的Import
Oct 13 Python
python使用SQLAlchemy操作MySQL
Jan 02 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
python自动化之如何利用allure生成测试报告
May 02 Python
python可视化之颜色映射详解
Sep 15 Python
 python中的元类metaclass详情
May 30 #Python
Python自动化实战之接口请求的实现
Python中的 enumerate和zip详情
May 30 #Python
python如何为list实现find方法
May 30 #Python
python实现商品进销存管理系统
May 30 #Python
python如何查找列表中元素的位置
May 30 #Python
Python数组变形的几种实现方法
May 30 #Python
You might like
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
php获取操作系统语言代码
2013/11/04 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
PHP对象相关知识总结
2017/04/09 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
Python实现JSON反序列化类对象的示例
2018/01/31 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
SQL数据库笔试题
2016/03/08 面试题
世界经理人咨询有限公司面试
2014/09/23 面试题
一套软件测试笔试题
2014/07/25 面试题
秘书行业自我鉴定范文
2013/12/30 职场文书
总经理助理职责
2014/02/04 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
天猫活动策划方案
2014/08/21 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
护士2015年终工作总结
2015/04/29 职场文书
公司费用报销管理制度
2015/08/04 职场文书