как заставить тип данных в массиве numpy уйти от научного c уведомления - PullRequest
1 голос
/ 08 мая 2020

Я использую массив numpy для хранения данных
массив хранит мою дату, например,

1.2251999e + 03 1.2251999e + 03 1.2251999e + 02

когда Я бы предпочел, чтобы он содержался как плавающая точка

как я могу заставить массив хранить данные, как я бы предпочел, чтобы он содержал 10. вместо 1.0 + 01?

спасибо

Ответы [ 2 ]

2 голосов
/ 08 мая 2020

То, что вы ищете:

np.set_printoptions(suppress=True)

Однако имейте в виду, что это просто стиль печати. Внутри они все хранятся в формате с плавающей запятой (включая мантиссу и показатель степени). Также обратите внимание, что если отношение наибольшего числа к наименьшему числу больше, чем может обрабатывать размер мантиссы (который, я думаю, составляет около 51 бит), он будет принудительно использовать нотацию scientifi c даже с установкой suppress=True.

пример кода:

a = np.array([1.234,0.0000002, 1000000])

np.set_printoptions(suppress=True)
[      1.234           0.0000002 1000000.       ]

Вы можете добавить аргумент floatmode, чтобы заполнить пробелы с помощью 0 s (он устанавливает разные стили печати чисел с плавающей запятой):

np.set_printoptions(suppress=True,floatmode='maxprec_equal')
[     1.2340000      0.0000002 100000.0000000]

или

np.set_printoptions(suppress=True,floatmode='fixed')
[     1.23400000      0.00000020 100000.00000000]

и если вы добавите к нему точность:

np.set_printoptions(suppress=True,floatmode='maxprec',precision=2)
[     1.23      0.   100000.  ]
2 голосов
/ 08 мая 2020

Именно так вывод распечатывается внутри, он, скорее всего, представлен как с плавающей точкой или с плавающей точкой двойной точности. Если вы хотите явно установить тип данных массива, вы можете использовать именованный аргумент dtype.

import numpy as np
arr = np.array([1, 2, 3], dtype='float')

Если вы хотите контролировать, как данные печатаются в терминале, см. это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...