Как преобразовать массив чисел с плавающей запятой 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *