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

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008