比较数据帧:查找一个中存在但另一个中不存在的行
比较数据帧以识别差异对于数据质量保证和合并至关重要运营。在本例中,我们有两个具有特定结构的数据帧(df1 和 df2),需要确定 df2 中存在但 df1 中不存在的行。
最初,尝试使用 df1 != df2 比较数据帧会导致一个错误。此方法仅适用于具有相同行和列的数据帧。为了找到对称差异,我们需要一种不同的方法。
一种方法涉及连接数据帧:
df = pd.concat([df1, df2]) df = df.reset_index(drop=True)
然后,按所有列对连接的数据帧进行分组:
df_gpby = df.groupby(list(df.columns))
接下来,我们通过获取仅存在一行的索引值来识别唯一记录:
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
使用这些索引,我们可以过滤数据帧以获得所需的结果:
df.reindex(idx)
此方法根据日期索引和 Fruit 列的比较提供 df2 中存在但 df1 中不存在的行。
以上是如何查找一个数据帧中存在但另一个数据帧中不存在的行(比较 df1 和 df2)?的详细内容。更多信息请关注PHP中文网其他相关文章!