我有两个数据集:
df_1 =
my_id col_1 col_2 value
ABC111 null 289 374578
ABC113 456 279 335368
ADC110 757 289 374568
ABC145 366 299 374578
ACC122 null 289 374220
df_2
my_id col_1 col_2 value_new
ABC000 null 289 374578
ABC113 456 279 330008
ADC110 757 null 374568
ABC145 366 299 374578
ACC122 null 289 374229
ACC999 null 289 374229
为了查看df_1或df_2中缺少哪些行,我对所有4列进行了完全联接。这样,我就可以看到哪些行不匹配,以及有多少行不匹配。问题是,我想看到**,因为不匹配发生在哪个列**。
所需输出:
missing_keys_from_df_1 =
my_id col_1 col_2 value_new my_id_check col_1_check col_2_check val_check
ABC000 null 289 374578 No Yes Yes Yes
ABC113 456 279 330008 Yes Yes Yes No
ADC110 757 null 374568 Yes Yes No Yes
ABC145 366 299 374578 Yes Yes Yes Yes
ACC122 null 289 374229 Yes No No No
ACC999 null 289 374229 No No No No
因此,基本上,我想**复制df_2并添加4个布尔列,以检查该列的值是否在df_1中。**这可能吗?
1条答案
按热度按时间gmxoilav1#
如果在ID上联接,则可以这样实现。如果您希望同时检查ID,则我们可能必须联接其他列,这将不会给予预期的结果。