Sebuah potongan kode pandas bisa berperilaku berbeda antar versi library, sehingga pertanyaan “pandas versi berapa yang kamu pakai?” adalah pertanyaan pertama setiap sesi mencari bantuan. Nomor versi juga menentukan reproduktifitas: laporan analisis yang dibuat di pandas 3.0.6 harus bisa dihasilkan ulang dengan hasil yang sama persis di komputer rekan kerja. Untuk alasan itu, kebiasaan memeriksa versi layak ditanam sejak sekarang, sebelum kita menulis analisis yang serius. Chapter ini membahas tiga cara pemeriksaan: dari kode Python, dari laporan lengkap pandas, dan langsung dari terminal.

Melihat Versi Lewat Kode Python #

Setiap paket Python yang rapi menyimpan nomor versinya di dalam atribut __version__, dan pandas tidak terkecuali. Skrip berikut merangkum lingkungan kerja dalam empat baris: versi Python, versi pandas, versi numpy, dan versi python-dateutil yang dibaca dari metadata paket:

python
import importlib.metadata as metadata
import sys

import numpy as np
import pandas as pd

print("Python  :", f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}")
print("pandas  :", pd.__version__)
print("numpy   :", np.__version__)
print("dateutil:", metadata.version("python-dateutil"))

Output yang Dihasilkan:

text
Python  : 3.12.15
pandas  : 3.0.6
numpy   : 2.1.3
dateutil: 2.9.0.post0

Mari kita bedah cara kerjanya:

  1. Baris 1-2: importlib.metadata adalah modul bawaan Python untuk membaca metadata paket terpasang, dan sys menyediakan informasi interpreter.
  2. Baris 4-5: mengimpor numpy dan pandas; urutan ini juga membuktikan kedua paket dapat dimuat tanpa error.
  3. Baris 7: sys.version_info dipecah menjadi tiga angka versi Python yang terformat rapi, misalnya 3.12.15.
  4. Baris 8-10: pd.__version__ dan np.__version__ menampilkan versi library, sedangkan metadata.version("python-dateutil") membaca versi dependensi dari metadata yang disimpan pip.

Nilai pada output di atas adalah lingkungan resmi Course ini: Python 3.12.15 dengan pandas 3.0.6. Jika nilai di komputer Anda berbeda, seluruh konsep Course tetap berlaku; catat saja nilainya agar hasil analisis Anda dapat ditelusuri.

Laporan Lengkap dengan show_versions #

Untuk pemeriksaan yang lebih menyeluruh, pandas menyediakan fungsi pandas.show_versions(). Satu pemanggilan mencetak bagian INSTALLED VERSIONS yang memuat informasi sistem operasi, versi Python, versi pandas, dan versi puluhan paket terkait, baik yang terpasang maupun yang kosong. Laporan ini dirancang untuk dilampirkan saat melaporkan masalah ke komunitas pandas, karena informasi itulah yang pertama diminta untuk menyalin kondisi lingkungan pelapor. Saat meminta bantuan tentang perilaku pandas di forum atau issue tracker, lampirkan hasil fungsi ini; dokumentasi resminya ada di halaman pandas.show_versions .

Memeriksa Versi dari Terminal #

Kadang kita hanya butuh satu angka tanpa menyentuh editor, misalnya saat memverifikasi server atau pipeline yang baru dikonfigurasi. Bentuk python3 -c dari Chapter Menggunakan Python Interpreter cocok untuk keperluan ini:

bash
python3 -c "import pandas as pd; print(pd.__version__)"

Output yang Dihasilkan:

text
3.0.6

Perintah tersebut memuat pandas, mencetak versinya, lalu selesai; angka yang muncul adalah versi pandas milik interpreter python3 yang aktif di PATH. Ingat jebakan klasiknya: jika virtual environment belum aktif, perintah ini melaporkan versi pandas milik Python global, yang bisa berbeda atau bahkan gagal karena pandas belum terpasang di sana. Karena itu, biasakan menjalankan pemeriksaan dari prompt yang sudah berawalan (.venv).

Mengapa Nomor Versi Penting di Era pandas 3.0 #

pandas 3.0 adalah rilis dengan perubahan perilaku yang besar, dan tabel berikut menunjukkan mengapa dua lingkungan dengan versi berbeda bisa menghasilkan output yang tidak sama:

Perilakupandas 2.xpandas 3.0
Tipe data teksobject untuk semua stringstr bawaan dengan missing berupa NaN
Copy-on-WriteOpsional, harus diaktifkan manualSelalu aktif; chained assignment tidak lagi mengubah data
Resolusi datetimedatetime64[ns]datetime64[us]
Method lamaapplymap dan Series.view tersediaSudah dihapus; gunakan DataFrame.map()

Daftar lengkapnya dirangkum dalam catatan rilis v3.0.0 , dan panduan adaptasi kode lama ke tipe string baru tersedia di migration-3-strings . Dengan mencantumkan versi pada setiap laporan, kita menghindari kebingungan “kode yang sama, hasil berbeda”.

Dengan kebiasaan ini terbentuk, Section Persiapan Lingkungan telah menutup seluruh prasyaratnya: Python 3.12 terpasang, virtual environment terisolasi, pandas 3.0.6 dan numpy siap, ditambah dua lingkungan kerja (REPL dan Jupyter). Tabel DataFrame pertama yang kita buat pada Chapter verifikasi tadi baru memakai dictionary; pada Section berikutnya, Dasar Series, kita membedah struktur data satu kolom yang menjadi bata dasar seluruh pandas.