Dtype (data type) menjelaskan jenis nilai yang disimpan sebuah Series dan menentukan operasi mana yang sah untuk data tersebut. Seri bertipe int64 bisa dijumlahkan, Series bertipe str bisa dipotong teksnya, dan Series bertipe datetime64 bisa dihitung selisih waktunya. pandas 3.0 membawa perubahan besar di area ini: string kini memiliki dtype sendiri bernama str, bukan lagi object seperti di versi lama. Chapter ini membahas dtype yang paling sering dijumpai, perilaku string baru, serta hubungan antara nilai kosong dan tipe data.

Dtype yang Sering Dijumpai #

Skrip berikut membuat lima Series dari lima jenis data, lalu mencetak dtype masing-masing agar perbedaannya terlihat sekaligus.

python
import pandas as pd

angka = pd.Series([10, 20, 30])
desimal = pd.Series([1.5, 2.5])
teks = pd.Series(["Budi", "Siti"])
logika = pd.Series([True, False, True])
tanggal = pd.Series(pd.to_datetime(["2026-01-15", "2026-03-01"]))

data = [
    ("angka", angka),
    ("desimal", desimal),
    ("teks", teks),
    ("logika", logika),
    ("tanggal", tanggal),
]

for nama, seri in data:
    print(f"{nama:9s}-> {seri.dtype}")

Output yang Dihasilkan:

text
angka    -> int64
desimal  -> float64
teks     -> str
logika   -> bool
tanggal  -> datetime64[us]

Mari kita telaah kode di atas:

  1. Baris 3-7: lima Series dibuat dari list biasa; tidak ada parameter dtype eksplisit, sehingga pandas memilih dtype secara otomatis dari isi list.
  2. Loop for di akhir: mencetak nama variabel dan dtype Series-nya dalam format yang rapi agar perbandingan mudah dibaca.
  3. Hasil per baris: bilangan bulat menjadi int64, bilangan desimal menjadi float64, teks menjadi str, nilai logika menjadi bool, dan hasil pd.to_datetime() menjadi datetime64[us] dengan resolusi mikrodetik.

Tabel berikut merangkum dtype tersebut beserta sumber datanya:

dtypeContoh dataCatatan
int6410, 20, 30Bilangan bulat 64 bit
float641.5, 2.5Desimal; juga muncul saat kolom bilangan memuat kosong
str"Budi", "Siti"Baru di pandas 3.0; menggantikan object untuk teks
boolTrue, FalseNilai logika murni tanpa kosong
datetime64[us]tanggal hasil to_datetimeResolusi mikrodetik sejak pandas 3.0
objectcampuran jenisFallback untuk list berisi jenis campuran

Dtype str Baru di pandas 3.0 #

Pada pandas 2.x dan sebelumnya, kolom teks disimpan sebagai dtype object, dtype serba guna yang sebenarnya ditujukan untuk jenis campuran. pandas 3.0 mengganti default tersebut: pd.Series(["Budi", "Siti"]) kini menghasilkan dtype str yang murni menyimpan string. Dengan dtype khusus ini, operasi teks menjadi lebih konsisten dan pengecekan tipe cukup dengan seri.dtype == "str". Perilaku ini berlaku pula saat membaca file CSV dan format teks lainnya.

Missing Value dan Dtype #

Nilai kosong berinteraksi erat dengan dtype. Series bilangan bulat yang memuat None otomatis naik kelas menjadi float64, karena dtype int64 klasik tidak punya wadah untuk nilai kosong. Jika kita ingin tetap menyimpan bilangan bulat dengan nilai kosong, pandas menyediakan dtype nullable Int64 yang ditulis dengan huruf I besar.

python
import pandas as pd

umur = pd.Series([17, 21, None])
print(umur)
print()

umur_int = pd.Series([17, 21, None], dtype="Int64")
print(umur_int)
print()

kode = pd.Series([101, 102]).astype("str")
print(kode.dtype)
print(kode)

Output yang Dihasilkan:

text
0    17.0
1    21.0
2     NaN
dtype: float64

0      17
1      21
2    <NA>
dtype: Int64

str
0    101
1    102
dtype: str

Kode di atas menunjukkan tiga perilaku penting. Pertama, pd.Series([17, 21, None]) menghasilkan float64 dengan kosong berupa NaN, angka desimal khusus yang menandai ketiadaan nilai. Kedua, dtype eksplisit dtype="Int64" mempertahankan bilangan bulat dan menandai kosong dengan <NA>. Ketiga, astype("str") mengonversi dtype apa pun menjadi string; di sini kode invoice 101 dan 102 berubah menjadi teks dengan dtype str.

Dengan memahami dtype, kita kini bisa membaca pesan galat yang berkaitan dengan tipe data dan memilih konversi yang tepat lewat astype. Chapter berikutnya, “Operasi pada Series”, menutup Section ini dengan memanfaatkan semua bekal tadi: operasi aritmetika, perbandingan, dan penjajaran index antar Series. Rujukan resmi yang relevan adalah panduan migrasi string pandas 3.0 , User Guide bagian basics , dan catatan rilis pandas 3.0.0 .