Cara mengonversi kolom menjadi datetime di pandas
Seringkali Anda mungkin tertarik untuk mengonversi satu atau lebih kolom pandas DataFrame ke format DateTime. Untungnya, hal ini mudah dilakukan dengan menggunakan fungsi to_datetime() .
Tutorial ini memperlihatkan beberapa contoh penggunaan fungsi ini pada DataFrame berikut:
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
Contoh 1: Ubah Satu Kolom menjadi DateTime
Kode berikut menunjukkan cara mengonversi kolom “tanggal_mulai” dari string ke format DateTime:
#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
Perhatikan bahwa fungsi to_datetime() cerdas dan biasanya dapat menyimpulkan format tanggal yang benar untuk digunakan, namun Anda juga dapat menentukan format mana yang akan digunakan dengan argumen format :
#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
Contoh 2: Ubah Beberapa Kolom menjadi DateTime
Kode berikut menunjukkan cara mengonversi kolom “tanggal_mulai” dan “tanggal_akhir” dari string ke format DateTime:
#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
Contoh 3: Konversi kolom ke format DateTime dengan hitungan detik
Dalam beberapa kasus, Anda mungkin juga memiliki kolom yang menyertakan tanggal serta jam, menit, dan detik, seperti DataFrame berikut:
#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
Sekali lagi, fungsi to_datetime() cerdas dan biasanya dapat menyimpulkan format yang benar untuk digunakan tanpa kita menentukannya:
#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
Tentu saja, di alam bebas Anda mungkin akan menemukan berbagai format DateTime yang aneh, jadi Anda mungkin perlu menggunakan argumen format untuk memberi tahu Python format DateTime mana yang akan digunakan.
Dalam kasus ini, lihat halaman ini untuk daftar lengkap operator %DateTime yang dapat Anda gunakan untuk menentukan format.
Sumber daya tambahan
Bagaimana cara mengonversi DateTime ke tanggal di Pandas
Bagaimana mengubah string menjadi float di Pandas