Pożyczanie od Converting between datetime, Timestamp and datetime64
In [220]: x
Out[220]: numpy.datetime64('2012-06-17T23:00:05.453000000-0700')
In [221]: datetime.datetime.utcfromtimestamp(x.tolist()/1e9)
Out[221]: datetime.datetime(2012, 6, 18, 6, 0, 5, 452999)
Rachunkowość stref czasowych myślę, że ma rację. Wygląda jednak dość niepewnie.
astype('O') is better (I think) than
tolist()) `:
In [294]: datetime.datetime.utcfromtimestamp(x.astype('O')/1e9)
Out[294]: datetime.datetime(2012, 6, 18, 6, 0, 5, 452999)
lub uzyskać datetime w lokalu:
In [295]: datetime.datetime.fromtimestamp(x.astype('O')/1e9)
Ale w pliku test_datatime.py
https://github.com/numpy/numpy/blob/master/numpy/core/tests/test_datetime.py
znajdę jakieś inne opcje - pierwsza przekonwertuj ogólny datetime64
na jeden z formatów określających jednostki:
In [296]: x.astype('M8[D]').astype('O')
Out[296]: datetime.date(2012, 6, 18)
In [297]: x.astype('M8[ms]').astype('O')
Out[297]: datetime.datetime(2012, 6, 18, 6, 0, 5, 453000)
To działa dla tablic:
In [303]: np.array([[x,x],[x,x]],dtype='M8[ms]').astype('O')[0,1]
Out[303]: datetime.datetime(2012, 6, 18, 6, 0, 5, 453000)
że 'wartość L' jest taki sam jak w '.tolist()' – hpaulj
Z pliku 'test' znalazłem, że dtype" M8 [ms] "łatwo konwertuje na' datetime'. – hpaulj
Czy masz przeczytać [moja odpowiedź * do końca *] (http://stackoverflow.com/a/13704307/4279)? Czy zauważyłeś, że różne wersje numpy zachowują się tutaj inaczej? Odpowiedź zawiera kod dla różnych wersji 'numpy' (wersje są * jawnie * określone). Istnieje nawet przykład kodu, który tworzy liczbę 'long', a następnie pokazano, jak w tym przypadku uzyskać' datetime'. – jfs