测试数组值是否为 NaT,并将结果存储在 Numpy 中的新位置

numpyserver side programmingprogramming更新于 2025/9/26 5:52:17

要测试数组值是否为 NaT,请使用 Python Numpy 中的 numpy.isnat() 方法。我们将存储结果的新位置是一个新数组。

条件通过输入进行广播。在条件为 True 的位置,输出数组将被设置为 ufunc 结果。在其他位置,输出数组将保留其原始值。请注意,如果通过默认 out=None 创建了未初始化的输出数组,则其中条件为 False 的位置将保持未初始化状态。

输出是存储结果的位置。如果提供,则必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。元组(只能作为关键字参数)的长度必须等于输出的数量。

步骤

首先,导入所需的库 −

import numpy as np

创建一个包含一些 NaT 和日期值的数组 −

arr = np.array(["2021-12-22", "NaT", "NAT", "nAt", '2021-12'], dtype="datetime64[ns]")

显示数组 −

print("数组...
", arr)

获取数组的类型 −

print("
我们的数组类型...
", arr.dtype)

获取数组的维度 −

print("
我们的数组维度...
",arr.ndim)

获取数组中元素的数量 −

print("
元素数量...
", arr.size)

创建另一个具有相同形状的数组来存储结果 −

arrRes = np.array([5, 5, 5, 5, 5])

要测试数组值是否为 NaT,请使用 Python Numpy 中的 numpy.isnat() 方法。我们将存储结果的新位置是 arrRes −

print("
测试数组是否为 NaT...
",np.isnat(arr, arrRes))

检查存储结果的新数组的值 −

print("
结果...
",arrRes)

示例

import numpy as np

# 创建一个包含一些 NaT 和日期值的数组
arr = np.array(["2021-12-22", "NaT", "NAT", "nAt", '2021-12'], dtype="datetime64[ns]")

# 显示数组
print("数组...
", arr) # 获取数组的类型 print("
我们的数组类型...
", arr.dtype) # 获取数组的维度 print("
我们的数组维度...
",arr.ndim) # 获取数组中元素的数量 print("
元素数量...
", arr.size) # 创建另一个具有相同形状的数组来存储结果 arrRes = np.array([5, 5, 5, 5, 5]) # 要测试数组值是否为 NaT,请使用 Python Numpy 中的 numpy.isnat() 方法 # 我们将存储结果的新位置是 arrRes print("
Test array for NaT...
",np.isnat(arr, arrRes)) # 检查存储结果的新数组的值 print("
结果...
",arrRes)

输出

数组...
['2021-12-22T00:00:00.000000000' 'NaT'
'NaT' 'NaT'
'2021-12-01T00:00:00.000000000']

我们的数组类型……
datetime64[ns]

我们的数组维度……
1

元素数量...
5

测试 NaT 阵列...
[0 1 1 1 0]

结果...
[0 1 1 1 0]

相关文章