Python 3.x 如何忽略max中的pd.NaT?
简短:如何在放入Python 3.x 如何忽略max中的pd.NaT?,python-3.x,max,missing-data,python-datetime,Python 3.x,Max,Missing Data,Python Datetime,简短:如何在放入max的列表中忽略pd.NaT import datetime max([pd.NaT, datetime.datetime(1900, 1, 1), datetime.datetime(2000, 1, 1)]) 预期输出为时间戳('2000-01-01 00:00:00')。即使这个问题似乎是一个标准问题,我也找不到除了这个非音速问题之外的解决方案: max(pd.DataFrame([pd.NaT, datetime.datetime(1900, 1, 1), datet
max
的列表中忽略pd.NaT
import datetime
max([pd.NaT, datetime.datetime(1900, 1, 1), datetime.datetime(2000, 1, 1)])
预期输出为时间戳('2000-01-01 00:00:00')。即使这个问题似乎是一个标准问题,我也找不到除了这个非音速问题之外的解决方案:
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()
另一方面,对于float-NaN,您可以使用
np.nanmax
,但不幸的是,在引入NaT时会抛出AttributeError