data_dict = dict((x["Ref_Key"], x) for x in data)
roots = []
for ref_key, item in data_dict.items():
parent_key = item.get("Parent_Key", None)
parent_item = data_dict.get(parent_key, None)
# ссылка в никуда, видимо такого быть не должно, но
# можно форсировать превращение item в корневой элемент
#if parent_item is None:
# parent_key = None
if parent_key is None: # родителя нет - это корень
roots.append(item)
continue
if "childs" not in parent_item: parent_item["childs"] = []
parent_item["childs"].append(item)