The collections module has two tools that make counting and grouping short.
Counter counts things: Counter(["bug", "billing", "bug"]) gives Counter({"bug": 2, "billing": 1}). It works like a dictionary, a missing key counts as 0, and .most_common(3) returns the top three as (item, count) pairs.
defaultdict is a dictionary that creates a starting value the first time you use a key, so you don't need .get() or an if key in d check:
from collections import defaultdict
totals = defaultdict(float) # new keys start at 0.0
for r in rows:
totals[r["region"]] += r["amount"]
defaultdict(list) starts each new key with an empty list, which is the usual way to group items: groups[key].append(item). Wrap the result in dict(...) when you want a plain dictionary back.