Just take the Amount column, sort it, and take the first 3 elements. And you don't even need the amount total column since you can sum the Amount column.
def compute_hhi(buyer_month):
total = float(buyer_month['Amount'].sum())
top_3_amts = buyer_month['Amount'].order(ascending = False)[0:3]
hhi_elements = [(value/total)**2 for value in top_3_amts]
hhi = sum(hhi_elements)
return hhi
grouped = df.groupby(['Buyer','Month'])
hhis = grouped.apply(compute_hhi)