簡體   English   中英

比較不等長的 Pandas 數據幀

[英]Comparing Pandas Dataframes on unequal length

我有兩個數據框,如下所示:''' df1 =

emp_id emp_name e_city
1 一座城市
2 缺口 城市
3 山姆 城市
4 約翰 城市
5 麥克風 易城

df2 =

emp_id emp_name e_city
2 缺口 城市
2 缺口 城市
3 山姆 城市
4 約翰 城市

''' 請注意 df2 有重復的行並且兩個 DF 的 len 不相等。 我的用例是找到這兩個 DF 之間的不匹配或差異

預期輸出: - 在 1 個 DF 中僅出現一次並在另一個 DF 中出現兩次的行應與其他不匹配的值一起顯示為差異

df3 =

emp_id emp_name e_city
1 一座城市
2 缺口 城市
5 麥克風 易城

我嘗試了以下方法,但沒有任何成果。

  1. 我不能使用 'df.compare',因為兩個數據幀的長度不同。
  2. 我嘗試使用 'df.merge' 但它沒有將重復的行指向不匹配/差異。
  3. 我嘗試使用“連接”和“比較”。 那也不成功。 有人可以幫我嗎? 提前致謝

首先,您可以使用groupby count duplicate

df2 = df2.groupby(['emp_id','emp_name']).size().reset_index(name='count')

然后將數據框與原始數據合並

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM