资料 df
child parent b a c a d b e c f c g f
输出:
child parent level
b a 1
c a 1
d b 2
e c 2
f c 2
g f 3
根据此父子报告,“a”是主要的父级,因为它不向任何人报告“b”和“c”向“a”报告,因此它们的级别为1。”“d”和“e”向1级(b、c)报告,因此它们为2级。”“g”向“f”(即2级)报告,因此“g”为3级。请让我知道如何做到这一点
我尝试下面的代码,但它不工作
df['Level'] = np.where(df['parent'] == 'a',"level 1",np.nan)
dfm1 = pd.Series(np.where(df['Level'] == 'level 1', df['parent'],None))
df.loc[df['parent'].isin(dfm1),'Level'] = "level 2"
以下是第一原则的解决方案:
这里有一种使用^{} 的方法,在这里我们可以找不到任何祖先,并得到相同的长度
相关问题 更多 >
编程相关推荐