2016-07-01 2 views
3


지수 e-5로 float 값에 numpy vstack을 사용하는 동안 문제가 있습니다.
item_array 및 date_array는 모두 numpy.ndarray입니다.
I는, 소자 3.04871703e 053.0487170344로되어 데이터 = np.vstack (date_array, item_array)()를 사용하는 경우. 다른 요소가 좋다. 누구든지이 문제를 해결할 수 있습니까? 감사
numpy vstack 이후 float 값 오류

[2] 물 : item_array
출력 [2] :
어레이 ([0.00000000e + 00 -1.81992510e-03--9.44964473e 03
-3.12464669e - 03 - 5.42864845e-03, -1.67769866e-03,
3.04871703e-05, -7.81295968e-03, - -1.12972557e 02,
-1.69797339e-02, -1.22161657e-02, -1.93931514e- 02,
-1.11389637e-02, -7.59505250e-03, 5.65141213e-03,
4.81559901e-03, -1.37724956e-02--1.51201763e 02,
,536 91,363,210 -2.55894748e-02 -2.48333169e-02--2.56770574e 02
-3.21192961e-02 -2.71028609e-02 -2.84357450e-02] [3])에

: date_array
Out [3] :
array ([ ' "2016-05-03"', '2016-05-04' ',' '2016-05-05' ',' '2016-05-06' ',
' '2016-05-07' ''2016-05-08 ''2016-05-09 ''2016-05-10 ''
''2016-05-09 ' 05-11 " ', '2016-05-12' ', '2016-05-13' ','2016-05-14 '',
''2016-05-15 '', '' 2016-05-16 " ','2016-05-18 '',
''2016-05-19 '', ''2016-05-20 '', ' "2016-05-21"', ' "2016-05-22"',
' "2016-05-23"', ' "2016-05-25"', ' "2016-05-26"',
dtype = '| S12 ') [4]에서

: 데이터 np.vstack = ((date_arry, item_array))
[5]에서
: 데이터
아웃 [5] :
어레이 ([' '2016- 2016-05-05 '', '2016-05-06' ',
' '2016-05-07' ',' ' 2016-05-08 '', ''2016-05-09' ', '2016-05-10' ',
' '2016-05-11' ',''2016-05-12 '', ','2016-05-13 '', '2016-05-14' ',
' '2016-05-15' ',' '2016-05-16' ',''2016-05-17 ' ',' "2016-05-18" ',
' "2016-05-19" ',' "2016-05-20" ', ""2016-05-21 "'," "2016-05-22" ' ,
''2016-05-23 '', '2016-05-24' ','2016-05-25 '' ', '2016-05-26' ']
['0.0 ' '-0.001819925', '-0.009449644', '-0.003124646'
'-0.005428648', '-0.001677698''3.0487170344' '-0.007812959'
'-0.011297255', '-0.016979733' '-0.012216165', '-0.019393151',
'-0.011138963', '-0.007595052', '0.0056514121', '0.0048155990',
'-0.013772495', '-0.015120176', '-0.025589474', '- 0.024833316 ',
'-0.025677057 ','-0. 032119296 ','-0.027102860 ','-0.| 028435744 ']],
DTYPE ='S12 ')는

+1

실제 표시되는 문제는 아니지만 실제로 기본 값은 예상대로입니까? – EdChum

+0

Checkout https://docs.python.org/2/tutorial/floatingpoint.html이 유용 할 수 있습니다. –

+1

귀하의 경우 dtype은 S12이므로 마지막 항목을 그냥 잘라낼 수 있습니까? 그것이 S32 일 때, 나는 e-5를 아직도 볼 수있다. 나는 똑같이 할 때 자신의 길을 재현 할 수 없다. dtype = '| S32' – Sosel

답변

1

나는 그런 스크립트 작성 :

import numpy as np 

item_array = np.array([0.00000000e+00, -1.81992510e-03, -9.44964473e-03, 
         -3.12464669e-03, -5.42864845e-03, -1.67769866e-03, 
         3.04871703e-05, -7.81295968e-03, -1.12972557e-02, 
         -1.69797339e-02, -1.22161657e-02, -1.93931514e-02, 
         -1.11389637e-02, -7.59505250e-03, 5.65141213e-03, 
         4.81559901e-03, -1.37724956e-02, -1.51201763e-02, 
         -2.55894748e-02, -2.48333169e-02, -2.56770574e-02, 
         -3.21192961e-02, -2.71028609e-02, -2.84357450e-02]) 

date_array = np.array(['"2016-05-03"', '"2016-05-04"', '"2016-05-05"', '"2016-05-06"', 
         '"2016-05-07"', '"2016-05-08"', '"2016-05-09"', '"2016-05-10"', 
         '"2016-05-11"', '"2016-05-12"', '"2016-05-13"', '"2016-05-14"', 
         '"2016-05-15"', '"2016-05-16"', '"2016-05-17"', '"2016-05-18"', 
         '"2016-05-19"', '"2016-05-20"', '"2016-05-21"', '"2016-05-22"', 
         '"2016-05-23"', '"2016-05-24"', '"2016-05-25"', '"2016-05-26"']) 

data = np.vstack((date_array,item_array)) 

print data 

을 그리고 나는 좋은 결과를 얻을 :

[['"2016-05-03"' '"2016-05-04"' '"2016-05-05"' '"2016-05-06"' 
    '"2016-05-07"' '"2016-05-08"' '"2016-05-09"' '"2016-05-10"' 
    '"2016-05-11"' '"2016-05-12"' '"2016-05-13"' '"2016-05-14"' 
    '"2016-05-15"' '"2016-05-16"' '"2016-05-17"' '"2016-05-18"' 
    '"2016-05-19"' '"2016-05-20"' '"2016-05-21"' '"2016-05-22"' 
    '"2016-05-23"' '"2016-05-24"' '"2016-05-25"' '"2016-05-26"'] 
['0.0' '-0.0018199251' '-0.00944964473' '-0.00312464669' '-0.00542864845' 
    '-0.00167769866' '3.04871703e-05' '-0.00781295968' '-0.0112972557' 
    '-0.0169797339' '-0.0122161657' '-0.0193931514' '-0.0111389637' 
    '-0.0075950525' '0.00565141213' '0.00481559901' '-0.0137724956' 
    '-0.0151201763' '-0.0255894748' '-0.0248333169' '-0.0256770574' 
    '-0.0321192961' '-0.0271028609' '-0.028435745']] 

만약 당신 돈 쓰기는 dtype 일 것입니다.)

+1

당신과 다른 것이 보이지 않습니다. 'date_array'의'dtype'은 무엇입니까? 스택의? OP는'dtype' (그리고 콤마)을 포함하는'repr' 배열을 보여주고있었습니다. 다른 문제가 있습니다. – hpaulj

+0

item_array의 유형을 float에서 string '| S32'로 변경하면 작동합니다. 매우 감사합니다. [2]에서 : 유형 (item_array [0]) 출력 [2] : numpy.float64 에서는 [3] = item_array item_array.astype ('| S32') [4]에서 : 유형 (item_array [0]) Out [4] : numpy.string_ – Peter