問題は、object
dtypeは誤解を招く恐れがあります。すべてのアイテムがストリングスだと思いました。しかし、どうやら、ファイルを読んでいる間、パンダはいくつかの要素をintに変換し、残りを文字列として残していました。
解決策は、すべてのフィールドが文字列であることを確認することでした:
>>> df1.col1 = df1.col1.astype(str)
>>> df2.col2 = df2.col2.astype(str)
その後、マージは期待どおりに機能します。
(dtype
を指定する方法があればいいのにと思います str
の ...)