Problem polegał na tym, że object
dtype wprowadza w błąd. Myślałem, że to oznacza, że wszystkie przedmioty są sznurkami. Ale najwyraźniej podczas czytania pliku pandas konwertował niektóre elementy na int, a resztę pozostawiał jako ciągi.
Rozwiązaniem było upewnienie się, że każde pole jest ciągiem:
>>> df1.col1 = df1.col1.astype(str)
>>> df2.col2 = df2.col2.astype(str)
Następnie scalanie działa zgodnie z oczekiwaniami.
(Chciałbym, żeby był sposób na określenie dtype
z str
...)