import itertools
mylist = [{'x':2020 , 'y':20},{'x':2020 , 'y':30},{'x':2021 , 'y':10},{'x':2021 , 'y':5}]
mylist1=[]
for key, group in itertools.groupby(mylist,lambda x:x["x"]):
max_y=0
for thing in group:
max_y=max(max_y,thing["y"])
mylist1.append({"x":key,"y":max_y})
print(mylist1)
df.groupby(level=0).apply(lambda x: x.to_dict('r')).to_dict()
# {'bob': [{'age': 20, 'name': 'bob'}, {'age': 30, 'name': 'bob'}],
# 'jim': [{'age': 25, 'name': 'jim'}]}
{k: g.to_dict(orient='records') for k, g in df.groupby(level=0)}
# {'bob': [{'age': 20, 'name': 'bob'}, {'age': 30, 'name': 'bob'}],
# 'jim': [{'age': 25, 'name': 'jim'}]}
remove dduplicates python dict