如何检查单元格数据是否存在于两个不同的数据帧行中



我有两个文件。它们已经按第一列排序。我需要一些如何检查第一个文件中的行数据是否等于(或存在(第二个文件中的同一行。如果数据不存在(意味着新值或已更改(,我想用" "更新两个文件。

col1 col2 col3 col4
val1 val2 val3 val4
val5 val6 val7 val8

新增功能

col1 col2 col3 col4 
val1 val2 val3 val4
val9 val5 val6 val7 

结果

old_updated

col1 col2 col3 col4 col5
val1 val2 val3 val4 nan
     val5 val6 val7 val8

new_updated

col1 col2 col3 col4 col5
val1 val2 val3 val4 
val9 val5 val6 val7 

我已经尝试过系列的伊辛

这是使用熊猫合并的开始,指标标志设置为 True。这将添加一列,告诉您该行的来源是什么。

dfnew = pd.DataFrame([["x","y","z","t"], ["a","s","b","e"]], 
                     columns=("col1","col2","col3","col4"))
dfold = pd.DataFrame([["x","y","z","t"],["d","a","b","t"]], 
                     columns=("col1","col2","col3","col4"))
df_merge = pd.merge(dfnew, dfold, how="outer", indicator=True)
>>>
  col1 col2 col3 col4      _merge
0    x    y    z    t        both
1    a    s    b    e   left_only
2    d    a    b    t  right_only

使用外部联接,您将看到所有内容。如果只想表示dfnew行,则可以执行how="left"

从这里,您可以根据需要在_merge列等上遮罩。您的用例不清楚,因此这应该可以让您继续前进。

最新更新