如何识别两个熊猫数据框中的常见元素

时间:2019-07-17 01:53:12

标签: pandas

给定两个熊猫数据框,我想确定其常见元素。

df1

public virtual DateTime CreatedDate { get; set; } = new Datetime();

df2

  title description
0    mmm         mmm
1    mmm         mmm
2    mmm         mmm
3    mmm         mmm
4    mmm         mmm
5    mmm         mmm
6    mmm         mmm
7    nnn         nnn
8    nnn         nnn
9    lll         lll
10   jjj         jjj

所以共同点应该是

  title description
0    mm          mm
1    mmm         mmm
2    mmm         mmm
3    mmm         mmm
4    mmm         mmm
5    mmm         mmm
6    mmm         mmm
7    nn          nn
8    nn          nn
9    ll          ll
10   jjj         jjj

我尝试使用以下代码。

  title description
0    mmm         mmm
1   jjj         jjj

但是,它返回一个错误; import pandas as pd df1 = pd.DataFrame({"title":["mmm", "mmm", "mmm", "mmm", "mmm", "mmm", "mmm", "nnn", "nnn", "lll", "jjj"], "description":["mmm", "mmm", "mmm", "mmm", "mmm", "mmm", "mmm", "nnn", "nnn", "lll", "jjj"]}) df2 = pd.DataFrame({"title":["mm", "mmm", "mmm", "mmm", "mmm", "mmm", "mmm", "nn", "nn", "ll", "jjj"], "description":["mm", "mmm", "mmm", "mmm", "mmm", "mmm", "mmm", "nn", "nn", "ll", "jjj"]}) df1.intersection(df2) 。只是想知道我在哪里弄错了。

很高兴在需要时提供更多详细信息。

2 个答案:

答案 0 :(得分:2)

我们可以先将mergeinner一起使用drop_duplicates

df1.merge(df2,how='inner').drop_duplicates()
   title description
0    mmm         mmm
42   jjj         jjj

答案 1 :(得分:2)

set交集

def f(d): return {*zip(*map(d.get, d))}
pd.DataFrame(f(df1) & f(df2), columns=[*df1])

  title description
0   mmm         mmm
1   jjj         jjj
相关问题