Как преобразовать массив чисел с плавающей запятой numpy в целые числа
Вы можете использовать следующие методы для преобразования массива чисел с плавающей запятой NumPy в массив целых чисел:
Метод 1. Преобразование чисел с плавающей запятой в целые числа (округление вниз)
rounded_down_integer_array = float_array. astype (int)
Способ 2. Преобразование чисел с плавающей запятой в целые числа (округленные до ближайшего целого числа).
rounded_integer_array = (np. rint (some_floats)). astype (int)
Метод 3. Преобразование чисел с плавающей запятой в целые числа (округление вверх)
rounded_up_integer_array = (np. ceil (float_array)). astype (int)
В следующих примерах показано, как использовать каждый метод на практике со следующим массивом с плавающей запятой NumPy:
import numpy as np #create NumPy array of floats float_array = np. array ([2.33, 4.7, 5.1, 6.2356, 7.88, 8.5]) #view array print (float_array) [2.33 4.7 5.1 6.2356 7.88 8.5 ] #view dtype of array print ( float_array.dtype ) float64
Пример 1. Преобразование чисел с плавающей запятой в целые числа (округленные вниз)
Следующий код показывает, как преобразовать массив чисел с плавающей запятой NumPy в массив целых чисел, в котором каждое число с плавающей запятой округляется до ближайшего целого числа:
#convert NumPy array of floats to array of integers (rounded down)
rounded_down_integer_array = float_array. astype (int)
#view array
print (rounded_down_integer_array)
[2 4 5 6 7 8]
#view dtype of array
print (rounded_down_integer_array. dtype )
int32
Обратите внимание, что каждое число с плавающей запятой округлено до ближайшего целого числа, а новый массив имеет тип int32 .
Пример 2. Преобразование чисел с плавающей запятой в целые числа (округленные до ближайшего целого числа)
Следующий код показывает, как преобразовать массив чисел с плавающей запятой NumPy в массив целых чисел, в котором каждое число с плавающей запятой округляется до ближайшего целого числа:
#convert NumPy array of floats to array of integers (rounded to nearest)
rounded_integer_array = (np. rint (float_array)). astype (int)
#view array
print (rounded_integer_array)
[2 5 5 6 8 8]
#view dtype of array
print(rounded_integer_array. dtype )
int32
Обратите внимание, что каждое число с плавающей запятой округлено до ближайшего целого числа, а новый массив имеет тип int32 .
Пример 3. Преобразование чисел с плавающей запятой в целые числа (с округлением вверх)
Следующий код показывает, как преобразовать массив чисел с плавающей запятой NumPy в массив целых чисел, в котором каждое число с плавающей запятой округляется до ближайшего целого числа:
#convert NumPy array of floats to array of integers (rounded up)
rounded_up_integer_array = (np. ceil (float_array)). astype (int)
#view array
print (rounded_up_integer_array)
[3 5 6 7 8 9]
#view dtype of array
print (rounded_up_integer_array. dtype )
int32
Обратите внимание, что каждое число с плавающей запятой округлено до ближайшего целого числа, а новый массив имеет тип int32 .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в NumPy:
Как заполнить массив NumPy значениями
Как удалить определенные элементы из массива NumPy
Как заменить элементы в массиве NumPy
Как получить определенную строку из массива NumPy