首页 > 解决方案 > Pandas DataFrame 重复比较

问题描述

我在比较两个不同长度的数据帧时遇到问题。下面是问题:

    df1 = 
emp_id emp_name
1      sam
2      joe
3      john
    
df2 =
emp_id emp_name
1      sam
2      joe
2      joe
3      john

我的期望输出是:

Expected_output_df = 
emp_id     emp_name     
df1   df2  df1   df2
1     1    sam   sam
2     2    joe   joe
NaN   2    NaN   joe
3     3    john  john

而我得到如下输出:

actual_output_df = 
emp_id     emp_name     
df1   df2  df1   df2
1     1    sam   sam
2     2    joe   joe
3     2    john  joe
NaN   3    NaN   john

以下是我所遵循的:

  1. 我尝试使用df.Merge()首先获取不匹配的行,这导致df1and df2
  2. pd.concat()仅左行和仅右行。但我的最终输出并不如预期。我遇到的主要问题是在 pd.concat 中。能够得到步骤 1 中的差异。但是在我连接之后,我无法将重复的行向下移动一行。

谁能帮我解决这个问题?提前致谢

标签: pythonpandasdataframecompare

解决方案


推荐阅读