栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【numpy】获取数组满足条件的部分

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【numpy】获取数组满足条件的部分

数组过滤

当使用布尔数组作为下标存取数组中的元素时,将收集数组中所有在数组中对应下标为True的元素,复制创建一个新数组。使用布尔数组作为下标获得的数组不和原始数组共享数据空间,这种方式只对应于布尔数组(array),不能使用布尔列表(list)。

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr % 2 == 1] = -1
print(arr)

#输出:
# > array([ 0, -1,  2, -1,  4, -1,  6, -1,  8, -1])

取值符中的会进行bool值转换;

arr % 2 == 1

#输出:
#array([False, True, False, True, False, True, False, True, False, True])

所以实际上会转换成用布尔数组作为下标;

arr[np.array([False, True, False, True, False, True, False,  True, False, True])]
np.where

np.where(condition, x, y)

满足条件(condition),输出x,不满足输出y。

np.where(condition)

只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标 。这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。

官网链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号