4 Aralık 2012, Salı
Datetime, zaman Damgası arasında dönüştürme ve datetime64
Nasıl datetime.datetime (Timestamp) numpy.datetime64 bir nesne dönüştürebilirim?
Aşağıdaki kodda, bir tarih, zaman damgası ve datetime64 nesneleri oluşturmak.
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2012, 5, 1)
# A strange way to extract a Timestamp object, there's surely a better way?
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)
In [7]: dt
Out[7]: datetime.datetime(2012, 5, 1, 0, 0)
In [8]: ts
Out[8]: <Timestamp: 2012-05-01 00:00:00>
In [9]: dt64
Out[9]: numpy.datetime64('2012-05-01T01:00:00.000000 0100')
Not: kolay Damgası: datetime
In [10]: ts.to_datetime()
Out[10]: datetime.datetime(2012, 5, 1, 0, 0)
Ama nasılnumpy.datetime64 bir(dt64) datetime Timestamp ayıklamak mı?
.
Güncelleme: benim verilerim biraz kötü bir örnek (belki de motive edici bir örnek) gibi görünüyor:
dt64 = numpy.datetime64('2002-06-28T01:00:00.000000000 0100')
datetime.datetime(2002, 6, 28, 1, 0) ve uzun olmalı(!) (1025222400000000000L)...
CEVAP
6 Aralık 2012, PERŞEMBE
Cehenneme hoÅŸ geldiniz.
Sadece pandas.Timestamp datetime64 bir nesne geçirebilirsiniz:
In [16]: Timestamp(numpy.datetime64('2012-05-01T01:00:00.000000'))
Out[16]: <Timestamp: 2012-05-01 01:00:00>
Bu doğru NumPy 1.6.1 olsa: işe yaramadığını fark ettim
numpy.datetime64('2012-05-01T01:00:00.000000 0100')
Ayrıca, pandas.to_datetime kullanılabilir (bu dev sürümü, v0 bakmadım.9.1):
In [24]: pandas.to_datetime('2012-05-01T01:00:00.000000 0100')
Out[24]: datetime.datetime(2012, 5, 1, 1, 0, tzinfo=tzoffset(None, 3600))
Bunu PaylaÅŸ:

Python: datetime içine Epoch zaman Dön...
Dönüştürme Biçimlendirilmiş bir Tarih ...
Python dönüştürme unix zaman damgası t...
Bir Unix zaman damgası DateTime dönüşt...
Java dönüştürme arasında.zaman.LocalDa...