欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力
对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
专栏:
文章概述:对Python中 布尔数组的介绍
关键词:Python中 布尔数组
本文目录:
布尔数组(也称之为 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