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