我有 2 个具有相同架构和不同数据的数据帧。我想比较它们并获取任何列具有不同值的所有行。
“df1”:
id Store is_open
1 'Walmart' true
2 'Best Buy' false
3 'Target' true
4 'Home Depot' true
“df2”:
id Store is_open
1 'Walmart' false
2 'Best Buy' true
3 'Target' true
4 'Home Depot' false
我能够得到差异,但我没有得到所有的列,而只是那些已经改变的列。所以我得到以下输出:
结果_df:
id is_open is_open
1 true false
2 false true
4 true false
这是实现上述输出的代码:
ne_stacked = (from_aoi_df != to_aoi_df).stack()
changed = ne_stacked[ne_stacked]
changed.index.names = ['id', 'col_changed']
difference_locations = np.where(from_aoi_df != to_aoi_df)
changed_from = from_aoi_df.values[difference_locations]
changed_to = to_aoi_df.values[difference_locations]
df5=pd.DataFrame({'from': changed_from, 'to': changed_to})
df5
但是,除了上述结果之外,我还想要添加 Store 列的所有相同列,因此我的预期输出是:
expected_result_df:
id Store is_open_df1 is_open_df2
1 Walmart true false
2 Best Buy false true
4 Home Depot true false
我怎样才能做到这一点?
紫衣仙女
ITMISS
三国纷争
相关分类