熊猫在每组中的前 n 个值

Jav*_*ier 1 python pandas

我有一个像

item      date       hour     value
  a         4         12       123
  a         6         11        54
  b         1          7       146
  c         8          1        97
  a         9          5        10
  c         4          5       114
  b         1          7       200
...       ...        ...       ...
Run Code Online (Sandbox Code Playgroud)

我想保持前10名itemvalue(丢弃其余的是确定),无论任何其他列。它们没有排序。

按照我的输入示例,由于我没有编写足够的内容来从每个项目中获得 10 个,如果我想要前 1 个,预期的输出将是这样的:

item      date       hour     value
  a         4         12       123
  c         4          5       114
  b         1          7       200
...       ...        ...       ...
Run Code Online (Sandbox Code Playgroud)

我看过这个答案,但我不确定如何告诉熊猫进行value计算。

yat*_*atu 5

您可以sort_values通过两者['item', 'value']然后groupby.head

df.sort_values(['item', 'value'], ascending=False).groupby('item').head(10)
Run Code Online (Sandbox Code Playgroud)

或与nlargest

df.groupby('item').value.nlargest(10).reset_index()
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

20239 次

最近记录:

6 年,1 月 前