Используйте методы groupby
и idxmax
:
date
в datetime
: df['date']=pd.to_datetime(df['date'])
max
столбца date
, после groupyby ad_id
: idx=df.groupby(by='ad_id')['date'].idxmax()
df_max=df.loc[idx,]
Out [54]:
ad_id price date
7 22 2 2018-06-11
6 23 2 2018-06-22
2 24 2 2018-06-30
3 28 5 2018-06-22
Ваш пример JSON не выглядит многомерным массивом. Это массив с кучей объектов в нем. Если это для Java, почему бы не использовать Джексона или GSon или подобную библиотеку для получения объекта в списке массивов! Все, что вам нужно определить, это объект POJO с соответствующими именами переменных с геттерами и сеттерами.