2015-01-05 2 views
-7

Я объявил переменную x и заполнил ее np.arange(-1, 1, 0.1). Метод print(x) дает мне что-то вроде этого:Что такое номер 9.00000000e-01?

[ -1.00000000e+00 -9.00000000e-01 -8.00000000e-01 -7.00000000e-01 
    -6.00000000e-01 -5.00000000e-01 -4.00000000e-01 -3.00000000e-01 
    -2.00000000e-01 -1.00000000e-01 -2.22044605e-16 1.00000000e-01 
    2.00000000e-01 3.00000000e-01 4.00000000e-01 5.00000000e-01 
    6.00000000e-01 7.00000000e-01 8.00000000e-01 9.00000000e-01] 

Каких чисел являются те? Как преобразовать их, например, float? Заранее спасибо.

+2

это float – sashas

+1

Вы можете легко узнать, что у них есть с 'x.dtype'. См. Также http://en.wikipedia.org/wiki/Scientific_notation – jonrsharpe

+0

'x.dtype' возвращает' dtype ('float64') ' – CoryKramer

ответ

1
>>> import numpy as np 
>>> x = np.arange(-1,1,0.1) 
>>> print(x) 
[ -1.00000000e+00 -9.00000000e-01 -8.00000000e-01 -7.00000000e-01 
-6.00000000e-01 -5.00000000e-01 -4.00000000e-01 -3.00000000e-01 
-2.00000000e-01 -1.00000000e-01 -2.22044605e-16 1.00000000e-01 
2.00000000e-01 3.00000000e-01 4.00000000e-01 5.00000000e-01 
6.00000000e-01 7.00000000e-01 8.00000000e-01 9.00000000e-01] 
>>> type(x[0]) 
<type 'numpy.float64'> 

>>> print(x.tolist()) 
[-1.0, -0.9, -0.8, -0.7000000000000001, -0.6000000000000001, -0.5000000000000001,   -0.40000000000000013, -0.30000000000000016, -0.20000000000000018, -0.1000000000000002, -2.220446049250313e-16, 0.09999999999999964, 0.19999999999999973, 0.2999999999999998, 0.3999999999999997, 0.49999999999999956, 0.5999999999999996, 0.6999999999999997, 0.7999999999999996, 0.8999999999999995] 
>>> type(x.tolist()[0]) 
<type 'float'> 

Первоначально тип имеет numpy float64.

+4

Обратите внимание, что вы можете использовать' x.dtype', чтобы получить тип более напрямую. – jonrsharpe

+0

Большое спасибо, приятно знать – user3684792

1

Это значения с плавающей запятой, написанные с использованием scientific notation. Таким образом, 9e-1 является 9 × 10 -1 или 0,9.

8

Номер 9.00000000e-01 уже является номер с плавающей запятой.

Это указано в scientific notation и эквивалентно 9 * 10**-1 или 0.9.

Смежные вопросы