2016-04-03 24 views
0
rng = pd.date_range('2016-02-07', periods=7, freq='D') 
print(rng[0].day) 
print(rng[0].month) 

7 
2 

Çıkışı yastıklı bir sıfır ile istiyorum. i.e:Pandalar: Zaman damgası sıfırla birlikte timestamp.day ve timestamp.month nasıl alınır

07 
02 

a) .day ve .month biçimlerini değiştirmek için herhangi bir hazır işlev var mı?

b) Yastıklı sıfır ile gün ve ay elde etmek için başka bir yolu var mı?

Zaten şu denedi:

rng = pd.date_range('2016-02-07', periods=7, freq='D') 
r=str(rng[0]) 

d = datetime.strptime(r[:10], '%Y-%m-%d') #[:10] this removes time from date 
z= (date.strftime(d, "%d")) 
print(z) 

çıkışı:

07 

teşekkür ederiz.

+0

, boş bir onay işareti olacaktır Cevabımın en solundaki, bu yüzden bu soru cevapsız kalmıyor – EdChum

cevap

0

değişken rngTimestamp d_type taşımaktadır:

rng[0].strftime('%d') 
'07' 
rng[0].strftime('%m') 
'02' 

unutmayın, bu dizeleri şunlardır:

rng[0] 
Timestamp('2016-02-07 00:00:00', offset='D') 

Zaman damgaları standart c-türü ile benzer işlevi strftime biçimlendirilebilir.

Sen strftime kullanabilirsiniz burada https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

+0

Teşekkür ederim Sergey. Evet çıktı bir dizedir, uygun biçime dönüştürmem gerekiyor. – revoltman

1

IIUC datetime biçimlendirme üzerinde ek bilgi bulabilirsiniz: cevabım o zaman bunu kabul edebilir sorunuzu çözdüyse

In [8]: 
rng = pd.date_range('2016-02-07', periods=7, freq='D') 
days = rng.strftime('%d') 
months = rng.strftime('%m') 
print(days) 
print(months) 

['07' '08' '09' '10' '11' '12' '13'] 
['02' '02' '02' '02' '02' '02' '02'] 
+0

Yardımlarınız için teşekkür ederiz. Şimdi bana açık. – revoltman