我有一个像
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名item由value(丢弃其余的是确定),无论任何其他列。它们没有排序。
按照我的输入示例,由于我没有编写足够的内容来从每个项目中获得 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计算。
您可以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 次 |
| 最近记录: |