Pandas’ta ek tarih-saat yöntemleri

Python'da Tarihler ve Saatlerle Çalışmak

Max Shron

Data Scientist & Author

Pandas’ta saat dilimleri

rides['Duration'].dt.total_seconds().min()
-3346.0
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ta saat dilimleri

rides['Start date'].head(3)
0   2017-10-01 15:23:25
1   2017-10-01 15:42:57
2   2017-10-02 06:37:10
Name: Start date, dtype: datetime64[ns]
rides['Start date'].head(3)\
  .dt.tz_localize('America/New_York')
0   2017-10-01 15:23:25-04:00
1   2017-10-01 15:42:57-04:00
2   2017-10-02 06:37:10-04:00
Name: Start date, dtype: datetime64[ns, America/New_York]
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ta saat dilimleri

# Bir saat dilimi atamayı deneyin...
rides['Start date'] = rides['Start date']\
  .dt.tz_localize('America/New_York')
pytz.exceptions.AmbiguousTimeError: Cannot infer dst time from '2017-11-05 01:56:50', 
try using the 'ambiguous' argument
# Belirsiz tarih-saatleri ele al
rides['Start date'] = rides['Start date']\
  .dt.tz_localize('America/New_York', ambiguous='NaT')

rides['End date'] = rides['End date']\
  .dt.tz_localize('America/New_York', ambiguous='NaT')
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ta saat dilimleri

# Sorunlu satırı yok sayarak süreyi yeniden hesapla
rides['Duration'] = rides['End date'] - rides['Start date']

# Minimumu yeniden bul rides['Duration'].dt.total_seconds().min()
116.0
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ta saat dilimleri

# Sorunlu satıra bakın
rides.iloc[129]
Duration                            NaT
Start date                          NaT
End date                            NaT
Start station             6th & H St NE
End station               3rd & M St NE
Bike number                      W20529
Member type                      Member
Name: 129, dtype: object
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ta diğer tarih-saat işlemleri

# İlk üç satırın yılı
rides['Start date']\
  .head(3)\
  .dt.year
0    2017
1    2017
2    2017
Name: Start date, dtype: int64
# İlk üç sürüşün haftanın günleri
rides['Start date']\
  .head(3)\
  .dt.day_name()
0    Sunday
1    Sunday
2    Monday
Name: Start date, dtype: object
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ın diğer bölümleri

# İndeksleri bir ileri kaydır, NaT ile doldur
rides['End date'].shift(1).head(3)
0                         NaT
1   2017-10-01 15:26:26-04:00
2   2017-10-01 17:49:59-04:00
Name: End date, dtype: datetime64[ns, America/New_York]
Python'da Tarihler ve Saatlerle Çalışmak

Pandas’ta ek tarih-saat yöntemleri

Python'da Tarihler ve Saatlerle Çalışmak

Preparing Video For Download...