我有一个 Dataframe ,其中有parent_id,parent_name,id,name,last_category列。df是这样的:
parent_id parent_name id name last_category
NaN NaN 1 b 0
1 b 11 b1 0
11 b1 111 b2 0
111 b2 1111 b3 0
1111 b3 11111 b4 1
NaN NaN 2 a 0
2 a 22 a1 0
22 a1 222 a2 0
222 a2 2222 a3 1
我想为df创建一个last_category列为1的层次路径,从根目录到最后一个目录,所以我将创建的新 Dataframe 应该是这样的(df_last):
name_path id_path
b / b1 / b2 / b3 / b4 1 / 11 / 111 / 1111 / 11111
a / a1 / a2 / a3 / a4 2 / 22 / 222 / 2222
如何做到这一点?
2条答案
按热度按时间x33g5p2x1#
只使用numpy和panda的解决方案:
构造结果 Dataframe :
b4lqfgs42#
您可以使用
networkx
,通过all_simple_paths
函数解析根节点和叶节点之间的路径。输出: