TypeError: тип numpy.ndarray не определяет ошибку метода __round__ возникает, когда вы «пытаетесь получить доступ к объекту ndarray, у которого нет встроенного метода округления».
Содержание
Воспроизведение ошибки
|
1 2 3 4 5 |
import numpy as np arr = np.array([1.11111111, 2.2222222, 3.3333333]) rounded_arr = round(arr) print(rounded_arr) |
Выход
|
1 |
TypeError: type numpy.ndarray doesn't define __round__ method |
Как исправить ошибку TypeError: тип numpy.ndarray не определяет метод __round__
Вот два способа исправить ошибку «TypeError: тип numpy.ndarray не определяет круглый метод».
- Использование метода np.around()
- Использование понимания списка с функцией round()
Решение 1. Использование метода np.around()
numpy.around() — это библиотечная функция, которая округляет массив чисел до указанного количества десятичных знаков.
Функция np.around() принимает два аргумента: массив, который нужно округлить, и количество десятичных знаков, до которого нужно округлить.
|
1 2 3 4 5 |
import numpy as np arr = np.array([1.11111111, 2.2222222, 3.3333333]) rounded_arr = np.around(arr, decimals=2) print(rounded_arr) |
Выход
|
1 |
[1.11 2.22 3.33] |
Решение 2. Использование понимания списка с помощью функции round()
Вы можете использовать понимание списка со встроенной функцией round(), чтобы исправить ошибку «TypeError: type numpy.ndarray не определяет метод __round__» в Python.
|
1 2 3 4 5 |
import numpy as np arr = np.array([1.11111111, 2.2222222, 3.3333333]) rounded_arr = np.array([round(i, 2) for i in arr]) print(rounded_arr) |
Выход
|
1 |
[1.11 2.22 3.33] |
