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

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010