Python 检查一个数据帧中的值是否存在于另一个数据帧中,打印所有值对
我有两个数据帧:Python 检查一个数据帧中的值是否存在于另一个数据帧中,打印所有值对,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有两个数据帧: df1 = pd.DataFrame({'code': ['11', '12', '13', '14'], 'name': ['a', 'a', 'b', 'c']}) df2 = pd.DataFrame({'code': ['15', '16', '17', '18', '19', '20'], 'name': ['a', 'a', 'b', 'c', 'c', 'c']}) 我需
df1 = pd.DataFrame({'code': ['11', '12', '13', '14'],
'name': ['a', 'a', 'b', 'c']})
df2 = pd.DataFrame({'code': ['15', '16', '17', '18', '19', '20'],
'name': ['a', 'a', 'b', 'c', 'c', 'c']})
我需要构建一个矩阵,它将由来自两个数据帧的名称相同的所有代码对组成。
矩阵应如下所示:
pairs value from df1 value from df2
a-a 11 15
a-a 11 16
a-a 12 15
a-a 12 16
b-b 13 17
c-c 14 18
c-c 14 19
c-c 14 20
感谢您在这方面提供的任何帮助使用:
这里的
how='outer'
和how='inner'
有什么区别?
df = df1.merge(df2, on='name', suffixes=(' from df1',' from df2'))
df.insert(0, 'pairs', df['name'] + '-' + df.pop('name'))
print (df)
pairs code from df1 code from df2
0 a-a 11 15
1 a-a 11 16
2 a-a 12 15
3 a-a 12 16
4 b-b 13 17
5 c-c 14 18
6 c-c 14 19
7 c-c 14 20