问题描述
我试图查看3列并创建一个迭代树列表。
我正在使用的代码:
df = df.fillna('null')
G = nx.DiGraph()
G.add_edges_from(zip(df['ChildCode'],df['parentCode'] ))
G = nx.relabel_nodes(G,mapping=df.set_index('ChildCode')['ChildOrg'].to_dict())
我对节点的重新标记正在删除重复的值,即财务,因此结果有点差。如果可以的话,我可以在重标记时允许重复的节点吗?。
由于某种原因,我得到的结果无法识别重复的childorg条目并将其分配给同一父代码。
我期望的结果如下:
解决方法
如果df['null']
包含数字,则它们不能下标。例如,123456[1:3]
将引发相同的错误。我想您需要以下代码:
df['Path'] = df['null'].apply(lambda x: '/'.join(str(x)[-2::-1]))
另一个潜在的问题是用'null'填充缺失值。您是否要在这种情况下返回“ un”?如果不是,请分别处理这些值。例如,
df['Path'] = df['null'].apply(lambda x: '/'.join(str(x)[-2::-1]) if x != 'null' else 'null')