Pandalar'da sütunları datetime'a dönüştürme
Genellikle bir pandanın DataFrame’inin bir veya daha fazla sütununu DateTime biçimine dönüştürmek ilginizi çekebilir. Neyse ki to_datetime() işlevini kullanarak bunu yapmak kolaydır.
Bu eğitimde, bu işlevin aşağıdaki DataFrame’de kullanımına ilişkin birkaç örnek gösterilmektedir:
import numpy as np import pandas as pd #createDataFrame df = pd.DataFrame({'event': ['A', 'B', 'C'], 'start_date': ['20150601', '20160201', '20170401'], 'end_date': ['20150608', '20160209', '20170416'] }) #view DataFrame df event start_date end_date 0 A 20150601 20150608 1 B 20160201 20160209 2 C 20170401 201704161 #view column data types df. dtypes event object start_date object end_date object dtype:object
Örnek 1: Tek Bir Sütunu DateTime’a Dönüştürme
Aşağıdaki kod, “start_date” sütununun bir dizeden DateTime biçimine nasıl dönüştürüleceğini gösterir:
#convert start_date to DateTime format df['start_date'] = pd. to_datetime (df['start_date']) #view DataFrame df event start_date end_date 0 A 2015-06-01 20150608 1 B 2016-02-01 20160209 2 C 2017-04-01 20170416 #view column date types df. dtypes event object start_date datetime64[ns] end_date object dtype:object
to_datetime() işlevinin akıllı olduğunu ve genellikle kullanılacak doğru tarih formatını çıkarabildiğini, ancak format argümanıyla hangi formatın kullanılacağını da belirtebileceğinizi unutmayın:
#convert start_date to DateTime format df['start_date'] = pd. to_datetime (df['start_date'], format=' %Y%m%d ') #view DataFrame df event start_date end_date 0 A 2015-06-01 20150608 1 B 2016-02-01 20160209 2 C 2017-04-01 20170416 #view column date types df. dtypes event object start_date datetime64[ns] end_date object dtype:object
Örnek 2: Birden Çok Sütunu DateTime’a Dönüştürme
Aşağıdaki kod, “start_date” ve “end_date” sütunlarının dizelerden DateTime biçimlerine nasıl dönüştürüleceğini gösterir:
#convert start_date and end_date to DateTime formats df[['start_date', 'end_date']] = df[['start_date', 'end_date']]. apply (pd. to_datetime ) #view DataFrame df event start_date end_date 0 A 2015-06-01 2015-06-08 1 B 2016-02-01 2016-02-09 2 C 2017-04-01 2017-04-16 #view column date types df. dtypes event object start_date datetime64[ns] end_date datetime64[ns] dtype:object
Örnek 3: Sütunları saniye cinsinden DateTime biçimine dönüştürme
Bazı durumlarda, aşağıdaki DataFrame gibi tarihin yanı sıra saat, dakika ve saniyeyi de içeren sütunlarınız olabilir:
#createDataFrame df = pd.DataFrame({'event': ['A', 'B', 'C'], 'start_date': ['20150601043000', '20160201054500', '20170401021215'], 'end_date': ['20150608', '20160209', '20170416'] }) #view DataFrame df event start_date end_date 0 A 20150601043000 20150608 1 B 20160201054500 20160209 2 C 20170401021215 20170416
Yine to_datetime() işlevi akıllıdır ve genellikle biz belirtmeden kullanılacak doğru formatı çıkarabilir:
#convert start_date to DateTime format df['start_date'] = pd. to_datetime (df['start_date']) #view DataFrame df event start_date end_date 0 A 2015-06-01 04:30:00 20150608 1 B 2016-02-01 05:45:00 20160209 2 C 2017-04-01 02:12:15 20170416 #view column date types df. dtypes event object start_date datetime64[ns] end_date object dtype:object
Elbette, doğada muhtemelen çeşitli garip DateTime formatlarıyla karşılaşacaksınız, dolayısıyla Python’a tam olarak hangi DateTime formatını kullanacağını söylemek için format argümanını kullanmanız gerekebilir.
Bu durumlarda , formatları belirtmek için kullanabileceğiniz %DateTime işleçlerinin tam listesi için bu sayfaya bakın.
Ek kaynaklar
Pandalar’da DateTime’ı tarihe nasıl dönüştürebilirim?
Pandalarda dizeleri kayan noktaya nasıl dönüştürebilirim?