Тип int16
Тип int16 в NumPy представляет целое число со знаком,
занимающее 16 бит памяти. Этот тип данных может хранить значения
в диапазоне от -32768 до 32767. Он полезен для экономии памяти
при работе с целочисленными данными, когда диапазон значений
не выходит за указанные пределы.
Синтаксис
np.array([1, 2, 3], dtype=np.int16)
Пример
Давайте создадим массив с типом данных int16 и выведем его:
import numpy as np
arr = np.array([100, 200, 300], dtype=np.int16)
print(arr)
print(arr.dtype)
Результат выполнения кода:
[100 200 300]
int16
Пример
Тип int16 можно задать строковым сокращением 'i2':
import numpy as np
arr = np.array([10, 20, 30, 40, 50], dtype='i2')
print(arr)
print(arr.dtype)
Результат выполнения кода:
[10 20 30 40 50]
int16
Пример
Давайте создадим двумерный массив с типом int16:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.int16)
print(arr)
print(arr.dtype)
Результат выполнения кода:
[[1 2 3]
[4 5 6]]
int16
Пример
Тип int16 имеет ограниченный диапазон значений.
При попытке сохранить число больше 32767 или меньше -32768
возникает переполнение:
import numpy as np
arr = np.array([32768], dtype=np.int16)
print(arr)
Результат выполнения кода:
[-32768]
Пример
Можно использовать функцию astype для преобразования
существующего массива к типу int16:
import numpy as np
arr = np.array([1.5, 2.7, 3.9])
arr_int16 = arr.astype(np.int16)
print(arr_int16)
print(arr_int16.dtype)
Результат выполнения кода:
[1 2 3]
int16
Пример
При создании массива с помощью функций zeros или ones
можно указать тип int16:
import numpy as np
zeros_arr = np.zeros(5, dtype=np.int16)
ones_arr = np.ones((2, 3), dtype=np.int16)
print(zeros_arr)
print(ones_arr)
Результат выполнения кода:
[0 0 0 0 0]
[[1 1 1]
[1 1 1]]