5 布尔数组(mask)的用处

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

文章概述:对Python中 布尔数组的介绍

关键词:Python中 布尔数组

本文目录

布尔数组(也称之为 masks)

条件筛选(布尔索引):

条件赋值:

逻辑操作:

统计和计数:

布尔数组(也称之为 masks)

条件筛选(布尔索引):

  • 可以使用布尔数组来筛选数组中的元素,只保留符合特定条件的元素。
a = np.arange(4)
print(a)
print(a[0], a[1])
print(a[[0, -1]]) # multi indexing
print(a[[True, False, False, True]])


print(a>=2) # 可以获得一个ndarray中包含True或False
print(a[a>=2]) # 用一个特别有效率的方式filter、select

条件赋值:

  • 可以使用布尔数组对原数组中的元素进行条件赋值。
import numpy as np

# 创建一个数组
a = np.array([1, 2, 3, 4, 5])

# 创建布尔数组,标记数组中小于 3 的元素
condition = a < 3

# 使用布尔数组对符合条件的元素进行赋值
a[condition] = 0
print(a)  # 输出: [0 0 3 4 5]

逻辑操作:

  • 可以对布尔数组进行逻辑操作(如 &|~),用于组合多个条件。
print(a.mean())
print(a[a>a.mean()]) 
print(a[~(a>a.mean())]) # ~ 是not的意思,非的意思



print(a[(a==0) | (a==1)]) # | or
print(a[(a<=2) & (a%2==0)]) # & and


A = np.random.randint(100, size=(3,3))
print(A)


print(A[np.array([
   [True, False, True],
   [False, True, False],
   [True, False, True]
])])


print(A>30)

统计和计数:

  • 布尔数组可以用来统计符合条件的元素数量。
import numpy as np

# 创建数组
a = np.array([1, 2, 3, 4, 5])

# 创建布尔数组,标记数组中大于 3 的元素
condition = a > 3

# 统计符合条件的元素数量
count = np.sum(condition)
print(count)  # 输出: 2
  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值