У меня есть массив numpy с 3 элементами; из этого массива я хотел бы создать список, в котором каждый элемент находится в научной нотации, и не строка. Кажется, это должно быть легко, но у меня проблемы с этим. Мой текущий сценарий выглядит следующим образом:Создайте список элементов с каждым элементом с научной нотацией
import numpy as np
ary = np.array([2.124598e+00, 9.1542e+00, 1.049e+00])
ary = ary.astype(np.float)
ary = ary.tolist()
ary = ['%.9e' % x for x in ary]
print(ary)
print(type(ary))
Выход:
['2.124598000e+00', '9.154200000e+00', '1.049000000e+00']
<type 'list'>
Как я могу поддерживать научные обозначения для каждого элемента, и имеют тип элемента нестроковой?
Редактировать: Целью здесь является создание входного файла, поэтому форматирование выполняется в соответствии с форматированием известного входного файла. Мой идеальный выход заключается в следующем:
[2.124598000e+00, 9.154200000e+00, 1.049000000e+00]
<type 'list'>
Удаление ['%.9e' % x for x in ary]
дает мне следующее, без научной нотации, что я ищу:
[2.124598, 9.1542, 1.049]
<type 'list'>
Просто блуждающий, зачем вам это нужно? Если вы выполняете математические операции, вы можете преобразовать результат в научную нотацию после ее получения. – sbowde4
@ sbowde4 - Я пишу входной файл, и я пытаюсь сопоставить форматирование существующего входного файла. – AaronJPung