1. ホーム
  2. パイソン

AttributeError: 'numpy.int64' オブジェクトに 'translate' という属性がない場合の別の解決方法

2022-02-25 14:36:40
<パス

Pythonプログラミングで、"AttributeError: 'numpy.int64' object has no attribute 'translate'" に遭遇したのです。

解決策は、一番下の太字の部分

ググったらnumpy.int64型だそうで、つまり元のデータフレームの数値はint64で、データベースの書き込みはint型が必要だからエラーになるんだそうです。

ネット上では、int()、df.astype(int)など、型を変換する方法がほとんどですが、私のデータフレームの中は、int型だけでなく、floatもあり、ナンの空値もあるのです。

これは、タイプを変換するときに面倒なことになります。

スクリプトはwindowsで書いていて問題なく動いていたので、linuxにして初めてエラーが報告されたので、気を取り直しました。

まずpandas、次にnumpy、そしてpymysql、sqlalchemyをアップグレードして、今度はエラーが出なくなりました。

pymysqlの後のバージョンで問題が修正されたと推測される。