我有一个数据集df,包括节点(N和T)和分配给节点的指示符(IND_N和IND_T):
N T IND_N IND_T
0 John Mark 1 0
1 Mike John 2 1
2 Stephan Simon 1 0
3 Laura Stephan 1 1
4 Matt Simon 3 0
5 Simon Joey 0 2
我将数据集分成两个,一个(df 1)的节点保留了df中的指标,另一个(df 2)的指标被一个虚拟值取代。df1
(保留df中的指示符)
N T IND_N IND_T
0 John Mark 1 0
1 Stephan Simon 1 0
2 Simon Joey 0 2
df 2(请注意,拆分后,我为df 2中的所有指示器分配了一个虚拟值-1)
N T IND_N IND_T
0 Laura Stephan -1 -1
1 Matt Simon -1 -1
2 Mike John -1 -1
由于在df 2中可能存在也可以在df 1中找到的节点,因此为了避免节点在两个数据集中的情况(df 1和df 2),但具有不同的指示符(例如,上面示例中的Simon),我想保留/替换df 2和df 1节点的指示符,使用它们的原始指示符(即,来自df 1的那个),然后重新组合两个数据集,以便具有最终输出:df_out
N T IND_N IND_T
0 John Mark 1 0
1 Stephan Simon 1 0
2 Simon Joey 0 2
3 Laura Stephan -1 1
4 Matt Simon -1 0
5 Mike John -1 1
按照这里提出的解决方案,我得到了以下错误:
ValueError: cannot reindex from a duplicate axis
我试着按如下方式修复它:
temp = df_unlabel[values]
temp.update(df_label[values].set_index(col, inplace=True))
在检查了最后一个表(df_out)中的值之后,我发现没有分配虚拟变量(它们再次被原始变量替换)。
我会很感激你的帮助,以解决这个错误,以获得最终的输出。高兴地提供更多的信息,如果需要的。
1条答案
按热度按时间3pmvbmvn1#
你可以使用一个mapping dict:
输出: