2015-02-04 15 views
8

Bir dize olarak temsil etmek istiyorum datetime64 t var.numpy.datetime64 üzerinde strftime çağrılamıyor, tanım yok

AttributeError: 'numpy.datetime64' object has no attribute 'strftime' 

ben eksik:

bu t.strftime('%Y.%m.%d') gibi strftime diyoruz

bu hatayı alıyorum? Ben 1.9.1

+0

Bunun yerine "datetime.datetime.strftime" kullanmak ister misiniz? Yani dt dt.datetime.strftime (t, '% Y.% m.% d') olarak datetime import etmeliyim. Bence – EdChum

+1

çalışmalıyım datetime64 gibi görünen örneklerin strftime metodunun kendisinde olduğunu gördüm. Çözümünüzü denedim ve şunu elde ettim: 'TypeError: descriptor 'strftime' bir 'datetime.date' nesnesini gerektirir ancak a 'numpy.datetime64' – deeb

+0

yinelenen http://stackoverflow.com/questions/19502506/convert-numpy aldı -datetime64-to-string-object-in-python? (str (dt) 'ihtiyacınız olan her şey olabilir mi?) –

cevap

11

kullanın bu kodu Python 3.4.2 ve Numpy kullanıyorum:

import pandas as pd 
t= pd.to_datetime(str(date)) 
timestring = t.strftime('%Y.%m.%d') 
+0

Bunu yapıyorum ama strftime tanımlanmamış – deeb

+0

pandaları mı ithal ettiniz? –

0

tip dönüşüm gerçekleştirmek için pandalar gibi bir veri yapıları kütüphanesi İthalat bana overkill gibi hissediyor. Aynı olayı standart veri modülü ile de elde edebilirsiniz:

import numpy as np 
import datetime 
t = np.datetime64('2017-10-26') 
t = t.astype(datetime.datetime) 
timestring = t.strftime('%Y.%m.%d') 
İlgili konular