检查NaT或pandas时间戳

问题描述 投票:1回答:2

如何在python中验证NaT,同时为时间戳工作。例如。变量_date可以是NaTTimestamp('2017-12-02 00:00:00')

如果我使用这个:np.isnat(np.datetime64(_date)),它适用于Timestamp('2017-12-02 00:00:00')但不适用于NaT

python pandas numpy
2个回答
3
投票

你可以使用isnafillna方法

import pandas as pd
import numpy as np

time = pd.Series(['2017-12-02 20:40:30','2017-12-02 00:00:00',np.nan])
time = time.apply(lambda x: pd.Timestamp(x))
print(time)
0   2017-12-02 20:40:30
1   2017-12-02 00:00:00
2                   NaT


time.isna()

0    False
1    False
2     True


time.fillna("missing")

0    2017-12-02 20:40:30
1    2017-12-02 00:00:00
2                missing

0
投票

通过使用to_datetime

time=pd.to_datetime(time)
time
Out[1131]: 
0   2017-12-02 20:40:30
1   2017-12-02 00:00:00
2                   NaT
dtype: datetime64[ns]
© www.soinside.com 2019 - 2024. All rights reserved.