【问题标题】:Select missing row between two dataframe选择两个数据框之间的缺失行
【发布时间】:2021-02-08 23:33:10
【问题描述】:

我是新来的,这是我的第一个问题。我最近在学习python(初学者)。我有两个数据框:

df1:

Id      Name       URL                Location
1       Google     www.google.com     USA
2       Facebook   www.facebook.com   USA
3       Twitter    www.twitter.com    USA

df2:

Id      Name       URL                Location
1       Google     www.google.com     USA
2       Facebook   www.facebook.com   USA

我希望输出返回不在 df2 中但在 df1 中的行。我的输出应该如下:

df3:

Id      Name       URL                Location
 3       Twitter    www.twitter.com    USA
 4       yahoo      www.yahoo.com      USA  

我现在所做的如下:

common = df1.merge(df2,on=['URL'])

final = df1[(~df1.URL.isin(common.URL))]

但我没有得到一个真实的数字。

有人可以帮忙吗?

【问题讨论】:

  • df2[~df2['URL'].isin(df1['URL'])]
  • @QuangHoang 仍然无法正常工作。我的 df1 现在有 30 000 行我的 df2 有 29 496 行不同之处只给了我 55 行:(

标签: python-3.x pandas dataframe


【解决方案1】:

您可以使用 df1 中的 URL(或任何其他列值)创建数据框,如下所示

df3=df1[~df1['URL'].isin(df2['URL'])]

【讨论】:

    猜你喜欢
    • 2020-04-29
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2012-03-03
    • 2022-09-28
    • 1970-01-01
    相关资源
    最近更新 更多