la unión / fusión interna en el dataframe de pandas da más filas que el dataframe izquierdo

Aquí es cómo se ven las columnas de marcos de datos.

df1 = ‘número de dispositivo’, ‘fecha’, …. <> 3500 registros

df2 = ‘número de dispositivo’, ‘fecha’, …. <> 14,000 registros

En cada dataframe, ni el ‘número de dispositivo’ ni la ‘fecha’ son únicos. Sin embargo, su combinación es única para identificar una fila.

Estoy tratando de formar un nuevo dataframe que coincida con las filas de df1 y df2 donde tanto el número de dispositivo como la fecha son iguales, y tengo todas las columnas de estos df1 y df2. El comando de los pandas que estoy intentando es

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

Sin embargo, df3 me da un dataframe de forma (14,000, 21). El número de la columna tiene sentido, pero ¿cómo puede la unión interna tener más filas que cualquiera de los marcos de datos de la izquierda? ¿Significa que tengo una falla en mi comprensión de la unión interna? Además, ¿cómo puedo lograr el resultado que describí?

La única forma en que puedo ver que esto ocurra … particularmente con los 14,000 que son el mismo número exacto que el número de registros en df2 es si la combinación de columnas en df2 no es única.

Puede verificar que no son únicos con lo siguiente ( True si es único)

 df2.duplicated(['device number', 'date']).sum() == 0 

O

 df.set_index(['device number', 'date']).index.is_unique