【问题标题】:How to ignore pd.NaT in max?如何在 max 中忽略 pd.NaT?
【发布时间】:2020-02-25 11:32:06
【问题描述】:

简短:如何在放入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])

【问题讨论】:

  • 顺便说一句,对于浮点 NaN,您可以使用 np.nanmax,但不幸的是,当引入 NaT 时会抛出 AttributeError

标签: python-3.x max missing-data python-datetime


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-16
    • 2014-06-25
    • 2014-11-12
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    相关资源
    最近更新 更多