我想过滤数据框以仅将具有最大值的行保留在列some_date
中。
df.filter(F.col('some_date') = F.max('some_date'))
失败,因为未在汇总中使用max。
我还试图获取max_date值,然后在过滤器max_date = df.groupBy().max('some_date')
中使用它,但未能告诉我"some_date" is not a numeric column. Aggregation function can only be applied on a numeric column.
在SQL中,我将使用子查询(达到where some_date = (select max(some_date) from ...
的效果)来实现这一点,但我认为会有更好的方法在Python中进行构造。