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ş:
Nasıl Python datetime tamsayı zaman da...
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...