У меня есть датафрейм, содержащий данные о продажах участков недвижимости. Я пытаюсь сгруппировать номер посылки, а затем для каждого номера посылки увидеть самую последнюю продажу и вторую самую последнюю продажу по дате вместе с соответствующей продажной ценой для этих двух дат.
df =
parcel date amount
101469 5/29/2015 0:00 513000
101469 4/25/2017 0:00 570000
101470 1/6/1995 0:00 75000
101470 8/15/1995 0:00 385000
101470 12/31/2001 0:00 417500
df_grouped = df.groupby("parcel").agg({'date': lambda grp: [grp.nlargest(1).iloc[-1], grp.nlargest(2).iloc[-1]
]})
Текущий код правильно группирует данные по участкам, а также определяет самые последние и вторые самые последние даты продажи. Однако я не могу добавить соответствующую цену продажи для каждого.
Вот обычно ожидаемый результат, который я хотел бы увидеть. Одна сгруппирована по строке для посылки, которая показывает самую последнюю продажу, вторая самая последняя продажа, самая последняя сумма продажи, вторая самая последняя продажа:
![enter image description here](https://i.stack.imgur.com/7cvG1.png)