【发布时间】:2016-01-15 02:00:33
【问题描述】:
我有一个带有“id”列和“值”列的 pandas 数据框。它已经按第一个 id(升序)然后按值(降序)排序。我需要的是每个 id 的前 10 个值。
我认为类似以下的方法会起作用,但它不起作用:
df.groupby("id", as_index=False).aggregate(lambda (index,rows) : rows.iloc[:10])
我得到的只是一个 id 列表,值列(以及我为问题省略的其他列)不再存在。
任何想法如何完成,无需遍历每一行并将前十行附加到另一个数据结构?
【问题讨论】:
-
你应该在问题中给出示例数据框。
标签: python pandas aggregate pandas-groupby