Python 我能做一个小摆设吗;s数据类型不可变,因此它不会';在操作过程中不改变?

Python 我能做一个小摆设吗;s数据类型不可变,因此它不会';在操作过程中不改变?,python,numpy,Python,Numpy,是否可以使用numpy数组翻转开关,以便它们在数学运算期间保留其数据类型,而不是使用python的隐式类型转换 示例:在传统python中,我得到 a=np.arange(5,dtype=int) print(a+1.1) >>>[1.1 2.1 3.1 4.1 5.1] 但是我想将a锁定为int,这样操作会将所有内容更改为a.dtype: a=np.arange(5,dtype=int) # somehow lock this dtype print(a+1.1)

是否可以使用numpy数组翻转开关,以便它们在数学运算期间保留其数据类型,而不是使用python的隐式类型转换

示例:在传统python中,我得到

a=np.arange(5,dtype=int)
print(a+1.1)
>>>[1.1 2.1 3.1 4.1 5.1]
但是我想将
a
锁定为
int
,这样操作会将所有内容更改为
a.dtype

a=np.arange(5,dtype=int) # somehow lock this dtype
print(a+1.1)    
>>>[1 2 3 4 5]

我知道我可以在每次操作后将数组手动重置为
(a+1.1)。astype(int)
,但我想知道是否有办法使ndarray的数据类型不可变?

a的数据类型没有改变。计算将生成一个新数组。使用
np.add
而不是
+
可以更好地控制结果数据类型。
a+=1.1
修改
a
本身,并且不会更改
dtype
a
的数据类型没有更改。计算将生成一个新数组。使用
np.add
而不是
+
可以更好地控制结果数据类型。
a+=1.1
修改
a
本身,并且不会更改
dtype