これまで無視されていたのは、今までfloat
の配列がint
の配列に変更されているためです。これを無視するのは、このFutureWarning
を無視するとは限りません。塗りつぶし値として整数7を指定しましたが、結果は浮動小数点型配列でした。 numpy-developersは、この動作が矛盾していると考え、今後の動作を変更したいと考えています。
あなたがint
配列をしたい場合は、明示的dtype=int
を指定する必要があります。
>>> np.full((2, 2), 7, dtype=int)
array([[7, 7],
[7, 7]])
あなたがfloat
配列をしたい場合は、単にfloat
に7
を変更:7.
:
>>> np.full((2, 2), 7.)
array([[ 7., 7.],
[ 7., 7.]])
ことも可能です明示的にdtypeを指定するdtype=float
:
>>> np.full((2,2), 7, dtype=float)
array([[ 7., 7.],
[ 7., 7.]])
FutureWarning
は、すべてFutureWarning
を明示的に無視する必要がなくなります。
私はそれをお勧めしませんが、それは、整数または浮動小数点配列の場合は気にしない場合は、その警告のように明示的にそれを抑制することができません。
import warnings
import numpy as np
with warnings.catch_warnings():
warnings.simplefilter('ignore', FutureWarning)
arr = np.full((2,2), 7)
を