给定两个熊猫数据框,我想确定其常见元素。
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)
。只是想知道我在哪里弄错了。
很高兴在需要时提供更多详细信息。
答案 0 :(得分:2)
我们可以先将merge
与inner
一起使用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