如何在给定较大的a和较小的布尔数组b的情况下使用numpy

a = np.array([False, True, True, False, True])
b = np.array([False, True, False])

得到结果c

c = np.array([False, False, True, False, False])

也就是说,做布尔运算和b之间a的哪部分是True,以得到与a形状相同的数组c?数组a中的True个元素的数目与数组b的长度不匹配.

推荐答案

不如这样吧:

c = np.copy(a)
c[a] = b

首先,通过复制a来创建c.现在,使用布尔数组a来 Select c的元素,其中a为True.

由于某个值和True之间的布尔值and就是值本身,所以数组ba的元素True之间的布尔值and就是数组b本身.

最后,因为aTrue个元素的数目与b的长度相同,所以赋值c[a] = b是可能的.

Python相关问答推荐

Python panda拆分列保持连续多行

Pydantic:如何将对象列表表示为dict(将列表序列化为dict)

如何使用entry.bind(FocusIn,self.Method_calling)用于使用网格/列表创建的收件箱

跟踪我已从数组中 Select 的样本的最有效方法

如何根据条件在多指标框架上进行groupby

如何才能知道Python中2列表中的巧合.顺序很重要,但当1个失败时,其余的不应该失败或是0巧合

如何检测背景有噪的图像中的正方形

查找两极rame中组之间的所有差异

如何找到满足各组口罩条件的第一行?

PMMLPipeline._ fit()需要2到3个位置参数,但给出了4个位置参数

NP.round解算数据后NP.unique

如何在Python中并行化以下搜索?

avxspan与pandas period_range

Stacked bar chart from billrame

Pandas—在数据透视表中占总数的百分比

python中字符串的条件替换

转换为浮点,pandas字符串列,混合千和十进制分隔符

下三角形掩码与seaborn clustermap bug

基于另一列的GROUP-BY聚合将列添加到Polars LazyFrame

如何过滤组s最大和最小行使用`transform`'