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?