numpy np.logical_not函数介绍

np.logical_not 是 NumPy 提供的一个用于逻辑取反的函数。它会将数组中的每个布尔值取反,即将 True 变为 FalseFalse 变为 True。此外,对于非布尔数组,np.logical_not 会将非零值视为 True、将零视为 False,然后执行取反操作。

语法

np.logical_not(x, out=None)
  • x:输入数组,可以是布尔型或数值型。
  • out:可选参数,用于指定存放输出结果的数组。

返回值

返回一个与 x 相同形状的布尔数组,表示 x 中各元素取反后的结果。

示例代码

1. 对布尔数组取反
import numpy as np

bool_array = np.array([True, False, True, False])
result = np.logical_not(bool_array)
print(result)  # 输出: [False  True False  True]
2. 对数值数组取反
num_array = np.array([1, 0, -1, 2, 0])
result = np.logical_not(num_array)
print(result)  # 输出: [False  True False False  True]

在数值数组中,0 被视为 False,因此取反为 True;非零值(如 1-12)被视为 True,取反后变为 False

3. 与 np.isnan 结合使用

一个常见用法是检测 NaN 值后取反。以下示例对数组中 NaN 元素生成掩码,非 NaN 元素位置为 True

array = np.array([1.0, np.nan, 3.5, np.nan, 5.0])
mask = np.logical_not(np.isnan(array))
print(mask)  # 输出: [ True False  True False  True]

这里 np.isnan(array) 生成一个布尔数组表示 NaN 的位置,np.logical_not 则取反,得到非 NaN 的位置为 True的掩码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值