from collections import defaultdict
data = 'your nested dict'
output_dict = defaultdict(lambda: defaultdict(list))
for element in data:
output_dict[element['Type']][element['Name']].append(element)
output = {k : dict(v) for k, v in output_dict.items()}
print(output)