I didn’t try to reproduce this behavior, but here’s a possible explanation.
In laptops[laptops['price_euros'].min()], the inner part (i.e. laptops['price_euros'].min()), is computing the minimum value in the column price_euros. It seems that the cheapest laptop costs 174.
Then laptops[laptops['price_euros'].min()] resolves to laptops[174], but 174 isn’t a column name, so you get a KeyError. Why you get two error messages I do not understand.
Anyway, what you want to do is probably something similar to what’s below, only you’ll want to replace 174 with something more elegant.