如何忽略最大的pd.NaT?

How to ignore pd.NaT in max?

简短:如何忽略放入 max 的列表中的 pd.NaT

import datetime
max([pd.NaT, datetime.datetime(1900, 1, 1), datetime.datetime(2000, 1, 1)])

预期输出为 Timestamp('2000-01-01 00:00:00')。即使这个问题看起来是一个标准问题,除了这个 unpythonic 问题我找不到解决方案:

max(pd.DataFrame([pd.NaT, datetime.datetime(1900, 1, 1), datetime.datetime(2000, 1, 1)]).dropna()[0])

现在你正在使用 pyhton 的 max 函数。相反,您可以使用自动处理 NaT 的 pandas series max:

pd.Series([pd.NaT, datetime.datetime(1900, 1, 1), datetime.datetime(2000, 1, 1)]).max()