我想使用SqlAlchemy ORM提取每个组中的第一个条目,但是很难做到这一点:
示例:提取每个客户的第一个订购商品:
customer | date | item
------------------------
Joe | 20190101 | duck
Jane | 20190101 | rabbit
Joe | 20190202 | table
Bob | 20190301 | guitar
Jane | 20190301 | guitar
预期产量
customer | date | item
------------------------
Joe | 20190101 | duck
Jane | 20190101 | rabbit
Bob | 20190301 | guitar
熊猫问题很容易解决
df.sort_values(['date'],ascending=True).groupby('customer').first().reset_index()
# -- or --
df.groupby(["customer"]).apply(lambda x: x.sort_values(["date"],ascending = True)).first().reset_index()
但是我找不到如何为SqlAlchemy实现类似 (或者对于SQL来说很重要,因为我很难理解这些Partition-Over函数的语法和用法)。
感谢您的帮助