图形存储在熊猫中,基于两列合并节点和边

时间:2019-03-16 12:46:45

标签: python pandas

有两个DataFram

node_df = pd.DataFrame({'Id':   [1, 2, 3, 4, 5], 
                        'name': ['A', 'B', 'B', 'C', 'D'],
                        'type':['one', 'one', 'two', 'one', 'one']})
edge_df = pd.DataFrame({'source': [2, 1, 2, 2], 'target': [3, 2, 4, 5]})

我想得到什么:

resnode_df

Id name type
1    A  one
3    B  two
4    BC  one
5    D  one

resedge_df

source  target
1       4
4       3
5       3

更多说明:

  1. node_df中,只有 具有两个类型onetwo。每行表示一个节点。如果两个节点(one_nodetwo_node)具有相同的名称,则应将它们的类型不同(请使节点具有two类型)。
  2. edge_df中,(one_nodetwo_node)应该被删除
  3. 如果pre_node中的(one_nodeone_node)和(nex_nodeedge_df)都应从edge_df中删除,并且(pre_nodenex_node)已添加到edge_df中。
  4. 如果one_node中有(nex_nodeedge_df),则应将其更改为(two_nodenex_node)。并在node_dfnex_node.name = two_node.name + nex_node.name

0 个答案:

没有答案
相关问题