【问题标题】:Python Intersection of two Dataframe两个数据框的Python交集
【发布时间】:2021-11-05 04:16:33
【问题描述】:

我需要与数据框相交。所以我执行了以下代码。但我无法得到我想要的结果。

df1 = pd.Dataframe([
      ['psy', 180, 75],
      ['psy', 180, 75]
], columns = ['name', 'height', 'weight'])

df2 = pd.Dataframe([
      ['psy', 180, 75],
      ['df', 160, 65],
      ['ddqq', 170, 75],
      ['psy', 180, 75]
], columns = ['name', 'height', 'weight'])

print(pd.merge(df1, df2, how='inner'))

输出

  name  height  weight
0 psy   180     75
1 psy   180     75
2 psy   180     75
3 psy   180     75

但我想要以下结果。

 name  height  weight
0 psy   180     75
1 psy   180     75

我怎样才能得到以下结果?请告诉我...

【问题讨论】:

  • 我认为这是因为 2 行 pandas 的同名 psy 对如何加入感到困惑。您可以尝试将它们命名为psy1psy2,然后您将获得所需的结果。

标签: python pandas dataframe intersection


【解决方案1】:

您可以从其中一个 DataFrame 中删除重复项。例如:

pd.merge(df1, df2.drop_duplicates(), how='inner')

输出:

  name  height  weight
0  psy     180      75
1  psy     180      75

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 2017-09-04
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多