junção / mesclagem interna no dataframe do pandas fornece mais linhas que o dataframe esquerdo

Aqui está como são as colunas dos quadros de dados.

df1 = 'número do dispositivo', 'data', .... << 10 outras colunas >> 3500 registros

df2 = 'número do dispositivo', 'data', .... << 9 outras colunas >> 14.000 registros

Em cada quadro de dados, nem 'número do dispositivo' nem 'data' são exclusivos. No entanto, sua combinação é exclusiva para identificar uma linha.

Estou tentando formar um novo quadro de dados que corresponda às linhas de df1 e df2, onde o número e a data do dispositivo são iguais e possua todas as colunas desses df1 e df2. O comando pandas que estou tentando é

df3=pd.merge(df1, df2, how='inner', on=['device number', 'date'])

No entanto, o df3 me fornece um quadro de dados de forma (14.000, 21). O número da coluna faz sentido, mas como a junção interna pode ter mais linhas do que qualquer um dos quadros de dados esquerdos? Isso significa que tenho uma falha no meu entendimento da junção interior? Além disso, como posso alcançar o resultado que descrevi?

questionAnswers(1)

yourAnswerToTheQuestion