「module 'numpy' has no attribute 'object'」の対処

結論を先に。NumPy 1.24 以降で np.objectnp.intnp.float などの非推奨エイリアスが削除されたのが原因です。np.object は組み込みの object(または np.object_)に書き換えれば直ります。自分のコードでなく古いライブラリが使っているなら、そのライブラリを更新します。

AttributeError: module 'numpy' has no attribute 'object'

原因

np.object np.int np.float np.bool np.str といった別名は長く非推奨でしたが、NumPy 1.24 で正式に削除されました。これらを使っているコードやライブラリが、新しい NumPy 上で動かなくなります。

対処

  1. 自分のコードなら、組み込み型または具体的な型に置き換える。
# np.object -> object
# np.int -> int (配列の型なら np.int64 など)
# np.float -> float(または np.float64)
# np.bool -> bool (または np.bool_)
  1. 自分でなく依存ライブラリが使っているなら、そのライブラリを最新版に上げる。
pip install -U そのパッケージ名
  1. すぐ回避したいだけなら、NumPy を 1.23 系に固定する(応急処置)。
pip install "numpy<1.24"

まとめ

  • 原因は NumPy 1.24 での np.object 等のエイリアス削除
  • 自分のコードは組み込み型(object/int/float/bool)に置換
  • 古いライブラリが原因ならそれを更新する
  • 応急処置は pip install "numpy<1.24"