Ich benutze Python 3.6.2.Konvertieren von einem iterablen von python `datetime` Objekten in ein Array von Numpy` datetime64` Objekten mit `fromiter()` nicht möglich. Fehler?
Ich habe gelernt von this question, wie zwischen dem Standard datetime
Typ zu np.datetime64
Typ wie folgt konvertieren.
dt = datetime.now()
print(dt)
print(np.datetime64(dt))
Ausgang:
2017-12-19 17:20:12.743969
2017-12-19T17:20:12.743969
Aber ich kann nicht einen iterable von Standard datetime
Objekte in eine Numpy Array konvertieren. Der folgende Code ...
... gibt den folgenden Fehler.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-14-46e4618bda89> in <module>()
----> 1 np.fromiter([dt], dtype=np.datetime64)
TypeError: Cannot cast datetime.datetime object from metadata [us] to according to the rule 'same_kind'
jedoch mit np.asarray()
funktioniert.
np.asarray([dt])
Ausgang:
array([datetime.datetime(2017, 12, 19, 17, 20, 12, 743969)], dtype=object)
Könnte dies ein Fehler sein, entweder mit np.fromiter()
oder np.datetime64
?
Danke. Ich denke, das Problem war, dass ich die Auflösung (Einheit) nicht angegeben habe. Die Verwendung der Zeichenfolgenform funktioniert. – Ray