SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • iNCH

    iNCH

    20 Temmuz 2009
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • stokelycalm

    stokelycalm

    28 Aralık 2010