Python中如何用numpy array对数据赋值
Admin 2022-08-17 群英技术资讯 1023 次浏览
在这篇文章中,我们来学习一下“Python中如何用numpy array对数据赋值”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。在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]])
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]]
# 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]]
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)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文主要介绍了Python使用apscheduler模块设置定时任务的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
pandas作为数据分析强大的库,是基于numpy数组构建的,专门用来处理表格和混杂的数据,下面这篇文章主要给大家介绍了关于Pandas DataFrame.drop()删除数据的相关资料,需要的朋友可以参考下
这篇文章主要介绍了Python中Numpy的深拷贝和浅拷贝,通过讲解Python中对Numpy数组操作的浅拷贝和深拷贝的概念和背后的原理展开全文,需要的小伙伴可以参考一下
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
这篇文章主要为大家介绍了python人工智能tensorflowtf优化器Optimizer算法汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008