Формат печати для numpy.array

Есть numpy.array:

import numpy as np

MyArr = np.array([4, 6, 8, 4.989123]).reshape(2,2)

Нужно его распечатать так, чтобы у каждого значения показывалось три знака после запятой (4.000, 6.000, 8.000, 4.989). При таком коде:

print(f'{MyArr:1.3f}')

возникает ошибка:

TypeError: unsupported format string passed to numpy.ndarray.__format__

Как правильно написать печать np.array чтобы задать число знаков после запятой при выводе?


Ответы (2 шт):

Автор решения: Left Mail
import numpy as np
# Set the print options
np.set_printoptions(precision=3)
# Print the array
print(MyArr)
→ Ссылка
Автор решения: Stanislav Volodarskiy

numpy.array2string:

print(np.array2string(MyArr, formatter={'float': lambda x: f'{x:1.3f}'}))

[[4.000 6.000]
 [8.000 4.989]]
→ Ссылка