У меня есть Dataframe df, имеющий 3 столбца.
_id parent_id type
A B Subcategory_level
B null Main_Level
D A Product_Level
M N Product_Level
X Y Subcategory_Level
Z X Subcategory_Level
L Z Product_Level
Что я хочу получить, так это мой вывод:
_id parent_id type
D A product_level
M N product_level
L X product_level
То, что я пробовал, - удалить все строки, имеющие типравно main_level.Тогда
df1=df
df1.rename(columns= {'_id':'parent_id','parent_id':'_id'},
index=str,inplace=True)
Затем Естественное объединение df1 с df:
final_df=pd.merge(df,df1,on='parent_id', how='inner')
Но проблема в этом естественном объединении, если есть более одного уровня типа, это не будет работать,Например, отношения между X и L имеют 2 уровня иерархии, в этом случае они не работают