防止隐式转换插入int16类型ndarray的int8元素

时间:2017-02-08 12:41:42

标签: python numpy

我有一个类型为int16的numpy数组。我想输入一个只有int8类型元素的数组。我这样做如下:

original_array = np.zeros((15,), dtype=np.int16)

new_array = np.insert(original_array , 0, np.array(1).astype('int8'))

输出:

new_array = array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int16)
>>> type(new_array [0])
<class 'numpy.int16'>

它会自动将int8转换为int16。有没有办法保留这个元素的数据类型?

1 个答案:

答案 0 :(得分:1)

您可以使用视图广播:

http://127.0.0.1:8888/?token=8543227ac6d6483ba4aac4c55b4b041282d3e540012f9aec