Ich habe ein Problem bei der Verwendung von numpy vstack für Float-Werte mit Exponent e-5.
Sowohl item_array als auch date_array sind numpy.darray.
Wenn ich data = np.vstack ((date_array, item_array)), das Element 3.04871703e-05 zu 3,0487170344 werden. Andere Elemente sind gut. Kann mir jemand helfen, dieses Problem zu beheben? Dank
float-Werte Fehler nach numpy vstack
In [2]: item_array
Out [2]:
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])
In [3]: date_array
Aus [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-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"'],
dtype = '| S12 ')
In [4]: data = np.vstack ((date_arry, item_array))
in [5]: Daten
Out [5]:
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"'],
['0.0' , '-0,001819925', '-0,009449644', '-0,003124646',
'-0,005428648', '-0,001677698', '3,0487170344', '-0,007812959',
'-0,011297255', '-0,016979733' '-,012216165', '-,019393151',
'-,011138963', '-,007595052', '0,0056514121', '0,0048155990',
'-,013772495', '-,015120176', '-,025589474', ‚- 0.024833316 ',
' -0.025677057 ',' -0. 032119296 ',' -0.027102860 ',' -0.028435744 ']],
dtype =' | S12')
Ist das nicht nur ein Display-Problem, aber die tatsächlichen zugrunde liegenden Werte sind immer noch wie erwartet? – EdChum
Checkout https://docs.python.org/2/tutorial/floatingpoint.html kann nützlich sein. –
In Ihrem Fall ist der Dtype S12, also könnten die letzten Einträge einfach weggeschnitten werden? Wenn es S32 ist, kann ich immer noch die e-5 sehen. Ich kann deinen Weg nicht reproduzieren, wenn ich genau dasselbe mache, habe ich am Ende ein numpy Array mit dtype = '| S32' – Sosel