to_datetime() di Pandas

Mengubah kolom teks menjadi tanggal, lalu mengambil bagian tanggal lewat .dt.

Diperbarui · Tim Zennit.id

Penjelasan sederhana

Tanggal dari file CSV sering terbaca sebagai teks biasa. to_datetime() mengubahnya menjadi tanggal sungguhan supaya bisa diambil bulannya, dihitung selisihnya, atau dikelompokkan per minggu.

Sintaks

pd.to_datetime(df['kolom'], format=None)
df['tgl'].dt.month / .dt.day_name()
BagianKeterangan
formatPola tanggal, misalnya '%d/%m/%Y' untuk 31/12/2026.
.dt.year / .dt.month / .dt.dayAmbil tahun, bulan, atau tanggal.
.dt.day_name()Nama hari (bahasa Inggris).

df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.

Contoh to_datetime()

Data contoh: penjualan (sudah tersedia sebagai DataFrame)

DataFrame penjualan

idtanggalkaryawan_idprodukkategoriqtyharga
1 2026-01-05 4 Laptop Elektronik 2 8500000
2 2026-01-12 6 Printer Elektronik 1 2300000
3 2026-01-20 4 Kursi Kantor Furnitur 5 1200000
4 2026-02-03 6 Laptop Elektronik 1 8500000
5 2026-02-14 4 Meja Kerja Furnitur 3 1750000
6 2026-02-25 5 Kertas A4 ATK 20 55000
7 2026-03-02 6 Kursi Kantor Furnitur 4 1200000
8 2026-03-10 4 Printer Elektronik 2 2300000
9 2026-03-18 5 Kertas A4 ATK 30 55000
10 2026-03-27 6 Monitor Elektronik 3 1900000
to-datetime.py
penjualan['tanggal'] = pd.to_datetime(penjualan['tanggal'])
penjualan['bulan'] = penjualan['tanggal'].dt.month
penjualan['hari'] = penjualan['tanggal'].dt.day_name()
penjualan[['tanggal', 'produk', 'bulan', 'hari']].head(5)

Hasil 5 baris × 4 kolom

tanggalprodukbulanhari
2026-01-05 Laptop 1 Monday
2026-01-12 Printer 1 Monday
2026-01-20 Kursi Kantor 1 Tuesday
2026-02-03 Laptop 2 Tuesday
2026-02-14 Meja Kerja 2 Saturday

Setelah jadi tipe tanggal, bulan dan nama hari bisa diambil langsung dari kolom tanggal.

Cara kerjanya, langkah demi langkah

  1. pd.to_datetime() mengubah teks "2026-01-05" menjadi tanggal.
  2. .dt.month mengambil angka bulan.
  3. .dt.day_name() mengambil nama hari.

Dipakai untuk apa di kantor?

  • Rekap penjualan per bulan atau per hari dalam seminggu.
  • Menghitung lama kerja, umur piutang, atau keterlambatan.

Kesalahan yang sering terjadi

  • Format tanggal Indonesia (31/12/2026) terbaca terbalik. Tulis format='%d/%m/%Y' atau dayfirst=True.
  • Memakai .dt pada kolom yang masih teks. Pandas menolak dengan error yang intinya "kolom ini belum berupa tanggal"; ubah dulu dengan pd.to_datetime().
Progres bab Mengolah Kolom 0/5 dipelajari
Lanjut: np.where()

Langkah berikutnya

Dari paham fungsi, ke siap kerja.

Belajar Python bareng mentor

Tahu fungsinya itu awal. Mengolah data kantor sampai jadi insight, itu skill.

Private Class Python & SQL untuk Data: dari Pandas dasar sampai membersihkan, merekap, dan memvisualisasikan data studi kasus kerja, dengan jadwal yang menyesuaikan kamu.

Lihat Private Class