有两个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
更多说明:
node_df
中,只有 具有两个类型one
和two
。每行表示一个节点。如果两个节点(one_node
,two_node
)具有相同的名称,则应将它们的类型不同(请使节点具有two
类型)。edge_df
中,(one_node
,two_node
)应该被删除pre_node
中的(one_node
,one_node
)和(nex_node
,edge_df
)都应从edge_df
中删除,并且(pre_node
,nex_node
)已添加到edge_df
中。 one_node
中有(nex_node
,edge_df
),则应将其更改为(two_node
,nex_node
)。并在node_df
,nex_node.name = two_node.name + nex_node.name