为每个日期的值找到 nlargest ID

find nlargest ID for a value for each date

我正在寻找在每个日期具有最高值的 10 个 ID。

for date in df:
    a = df.nlargest(10, ['a'])
    Top_performer.append(a[['ID','Renta','Date']])

作为输出我想要每个日期的 ID 及其 'renta'

我想我是因为一些很简单的事情而打扰你,但我被困住了!谢谢

这是一个可能的解决方案:

  1. 按日期分组
  2. 在每个日期,找到“Renta”的 10 个最大值
  3. 为输出提供正确的格式

代码:

>>> df.groupby("Date").apply(lambda x: x.nlargest(10, "Renta")).reset_index(drop=True))