我不时地编写这样的代码:
import numpy as np
a = np.array([1,2,3])
a[1]=3.3
a[2] *= 50
print(a)
在此,我没有将a
作为int
初始化,而是float
,但正如我所说,我忘了它。
现在有一种方法可以确保这些初始化默认为float,除非明确指定dtype吗?
答案 0 :(得分:5)
不是没有改变来源,没有。您的选择是:
养成在数字末尾添加点数的习惯:
np.array([1.,2.,3.])
明确使用dtype
:
np.array([1,2,3], dtype=float)
制作新功能:
def ozi_array(*args, **kwargs):
if 'dtype' not in kwargs:
return np.array(*args, dtype=float, **kwargs)
return np.array(*args, **kwargs)
答案 1 :(得分:4)
使用dtype
参数,请参阅here:
>>> import numpy as np
>>> np.array([1, 2, 3], dtype=float)
array([ 1., 2., 3.])