Build a dataframe with parent categories as columns
Source code in eds_scikit/utils/hierarchy.py
7 8 91011121314151617181920212223242526272829
defbuild_hierarchy(categories:pd.DataFrame,relationships:pd.DataFrame,)->pd.DataFrame:"""Build a dataframe with parent categories as columns"""assertset(categories.columns)=={"id","category"}assertset(relationships.columns)=={"child","parent"}assertnotcategories["id"].duplicated().any()assertnotrelationships.duplicated().any()expanded_relationships=_follow_relationships(relationships)expanded_relationships=expanded_relationships.loc[expanded_relationships["child"].isin(categories["id"])]relationships_with_category=_deduplicate_parent_category(expanded_relationships,categories)categories=_finalize_parent_categories(categories,relationships_with_category)returncategories