Cara menentukan format di pandas.to_datetime


Anda dapat menggunakan fungsi pandas.to_datetime() untuk mengonversi kolom string menjadi kolom datetime di pandas DataFrame.

Saat menggunakan fungsi ini, Anda dapat menggunakan argumen format untuk menentukan format tanggal Anda untuk menghindari kesalahan saat mengonversinya dari string ke datetime.

Fungsi ini menggunakan sintaks dasar berikut:

 df[' datetime '] = pd. to_datetime (df[' my_date_column '], format=' %m%d%Y %H:%M:%S '])

Berikut adalah arahan paling umum yang dapat Anda berikan pada argumen format :

  • %m : Bulan sebagai angka nol (01, 02, … 12)
  • %d : Hari dalam sebulan sebagai angka nol (01, 02, … 31)
  • %y : Tahun dengan angka abad (2020, 2021, 2022, dst.)
  • %H : Jam (24 jam) sebagai angka yang diisi dengan nol (00, 01, … 23)
  • %I : Waktu (12 jam) sebagai angka yang diisi dengan angka nol (01, 02, … 12)
  • %p : Baik AM atau PM
  • %M : Menit berupa angka yang dilengkapi angka nol (00, 01, … 59)
  • %S : detik berupa angka yang dilengkapi angka nol (00, 01, … 59)

Untuk daftar lengkap pedoman, lihat halaman ini .

Contoh berikut menunjukkan cara menggunakan argumen format dalam fungsi to_datetime() dalam skenario yang berbeda.

Contoh: Tentukan format di pandas.to_datetime

Misalkan kita memiliki panda DataFrame berikut yang berisi informasi tentang total penjualan yang dilakukan pada tanggal berbeda di toko ritel:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['10012023 4:15:30', '10042023 7:16:04', '10062023 9:25:00',
                            '10142023 15:30:50', '10152023 18:15:00'],
                   ' sales ': [100, 140, 235, 120, 250]})

#view DataFrame
print (df)

                dirty dates
0 10012023 4:15:30 100
1 10042023 7:16:04 140
2 10062023 9:25:00 235
3 10142023 15:30:50 120
4 10152023 18:15:00 250

#view data type of each column in DataFrame
print ( df.dtypes )

date object
dirty int64
dtype:object

Kita dapat melihat bahwa kolom tanggal saat ini adalah kolom string (yaitu objek).

Misalkan kita mencoba menggunakan pandas.to_datetime() untuk mengubah kolom ini menjadi datetime:

 #attempt to convert date column to datetime format
df[' date '] = pd. to_datetime (df[' date '])

ParserError: month must be in 1..12: 10012023 4:15:30 present at position 0

Kami menerima pesan kesalahan karena fungsi pandas.to_datetime() tidak mengenali format tanggal dan waktu di kolom tanggal saat ini.

Kita juga bisa menggunakan argumen format untuk menentukan format kolom:

 #convert date column to datetime format
df[' date '] = pd. to_datetime (df[' date '], format=' %m%d%Y %H:%M:%S ')

#view DataFrame
print (df)

                 dirty dates
0 2023-10-01 04:15:30 100
1 2023-10-04 07:16:04 140
2 2023-10-06 09:25:00 235
3 2023-10-14 15:30:50 120
4 2023-10-15 18:15:00 250

#view updated type of each column
print ( df.dtypes )

date datetime64[ns]
dirty int64
dtype:object

Kita dapat melihat bahwa kolom tanggal berhasil diubah menjadi kolom tanggalwaktu dan kami tidak menerima kesalahan apa pun karena kami menggunakan argumen format untuk menentukan format persis kolom tanggal tersebut.

Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas to_datetime() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara membuat rentang tanggal di Pandas
Bagaimana cara mengubah stempel waktu menjadi tanggal/waktu di Pandas
Cara menghitung selisih dua kurma di panda

Tambahkan komentar

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