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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *