在 Numpy 中针对 NaT(不表示时间)测试各个元素


要按元素对 NaT 进行测试,请在 Python Numpy 中使用 numpy.isnat() 方法。它会针对 datetime 或 timedelta 数据类型检查值。

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

步骤

首先,导入必需的库 −

import numpy as np

要按元素对 NaT 进行测试,请在 Python Numpy 中使用 numpy.isnat() 方法。它会针对 datetime 或 timedelta 数据类型检查值 −

检查日期。datetime64 数据类型支持字符串 “NAT”,它可以是大写/小写字母的任意组合,表示 “Not A Time” 值 −

print("Check for NaT? ", np.isnat(np.datetime64("NaT")))
print("Check for NaT? ", np.isnat(np.datetime64("2021-12-22")))
print("Check for NaT? ", np.isnat(np.datetime64('2021-12', 'D')))
print("Check for NaT? ", np.isnat(np.datetime64(1, 'Y')))
print("Check for NaT? ", np.isnat(np.datetime64('2005-02-25T03:30')))
print("Check for NaT? ", np.isnat(np.datetime64('nat')))
print("Check for NaT? ", np.isnat(np.datetime64("5")))
print("Check for NaT? ", np.isnat(np.datetime64('nAt')))

示例

import numpy as np

# To test element-wise for NaT, use the numpy.nat() method in Python Numpy
# It checks the for datetime or timedelta data type.

# Checking for dates
# The datetime64 data type accepts the string “NAT”,
# in any combination of lowercase/uppercase letters, for a “Not A Time” value.
print("Check for NaT? ", np.isnat(np.datetime64("NaT")))
print("Check for NaT? ", np.isnat(np.datetime64("2021-12-22")))
print("Check for NaT? ", np.isnat(np.datetime64('2021-12', 'D')))
print("Check for NaT? ", np.isnat(np.datetime64(1, 'Y')))
print("Check for NaT? ", np.isnat(np.datetime64('2005-02-25T03:30')))
print("Check for NaT? ", np.isnat(np.datetime64('nat')))
print("Check for NaT? ", np.isnat(np.datetime64("5")))
print("Check for NaT? ", np.isnat(np.datetime64('nAt')))

输出

Check for NaT? True
Check for NaT? False
Check for NaT? False
Check for NaT? False
Check for NaT? False
Check for NaT? True
Check for NaT? False
Check for NaT? True

更新于: 08-Feb-2022

5K+ 浏览量

开启您的 职业生涯

完成课程获得认证

开始
广告