我有一个Pandas系列的NaN的和日期
例如
# In the codebase this is being generated and used elsewhere, so changing the format would be a pain
x = pd.Series([
np.nan,
np.nan,
pd.to_datetime('2020-01-01').date(),
np.nan,
pd.to_datetime('2020-02-01').date()
])
问题是最近的日期(如果有)是否大于“2021-06-01”
我做不到
x.max() > pd.to_datetime('2021-06-01')
因为x.max()
返回TypeError: '>=' not supported between instances of 'float' and 'datetime.date'
这是因为Pandas不想将浮点数np.nan
与日期进行比较。
但是,如果我使用x.fillna(pd.NaT).max()
,它仍然不高兴,并抛出警告,指出np.NaT
不应与日期进行比较。
什么是适当的方式来做到这一点在Pandas。
1条答案
按热度按时间0lvr5msh1#
只需事先过滤掉NaN:
它找到非空值的最大值,输出正确: