我有两个文件。他们已经按第一列排序。 我需要一些如何检查第一个文件中的行数据是否等于(或存在)第二个文件中的同一行。 如果数据不存在(意味着新值或已更改),我想使用“”更新两个文件。
示例
旧
dependencies {
externalLibs files('libs/a.jar', 'libs/b.jar')
}
新
col1 col2 col3 col4
val1 val2 val3 val4
val5 val6 val7 val8
结果
old_updated
col1 col2 col3 col4
val1 val2 val3 val4
val9 val5 val6 val7
new_updated
col1 col2 col3 col4 col5
val1 val2 val3 val4 nan
val5 val6 val7 val8
我已经尝试过将isin用于系列
答案 0 :(得分:0)
这是使用将 indicator 标志设置为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
通过外部联接,您将看到所有内容。如果只希望表示how="left"
行,则可以执行dfnew
。
在这里,您可以视需要在_merge
列等处进行遮罩。您的用例尚不明确,因此可以助您一臂之力。