問題の説明
AttributeError: モジュール 'numpy' には属性 'float' がありません。
np.float
は、組み込みの非推奨のエイリアスでしたfloat
。既存のコードでこのエラーを回避するには、float
単独で使用します。これを実行しても動作は変更されず、安全です。特に numpy スカラー型が必要な場合は、np.float64
ここを使用してください。
エイリアスはもともと NumPy 1.20 で非推奨になりました。詳細とガイダンスについては、オリジナルのリリース ノートを参照してください:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
解決策 1:
コードを変更せずに再インストールするnumpy
この問題は、1.24 以降、np.float が削除されているために発生します。使用されるコードは、Numpy の古いバージョンに依存しています。Numpy バージョンを 1.23.5 にダウングレードできます。
conda install numpy==1.23.5
または、pip を使用してインストールすることもできます。
解決策 2:
コード内の np.float を次のように float に変更します。
ほとんどの場合、numpy エイリアスを組み込みの Python 型に置き換えるだけで問題は解決します。bool
、、str
などint
も同様です。
import numpy as np
# Instead of numpy's float alias
x = np.float(10)
# Use the built-in float
x = float(10)
好き:
np.float = float
np.int = int
np.object = object
np.bool = bool
また
np.float = np.float64