Pandas 1.0 membawa perubahan besar

Pandas, perpustakaan analisis data untuk Python, akhirnya mencapai calon pelepasan 1.0. Pandas 1.0 membuang banyak fungsi yang tidak digunakan lagi dan memerlukan Python 3.6 atau lebih baik. 

Pandas diciptakan untuk bekerja dengan mudah dengan data dalam format berstruktur, seperti jadual, matriks, dan data siri masa. Pandas memanfaatkan banyak fungsi kerangka data R, dan berfungsi dengan baik dengan perpustakaan pengkomputeran saintifik lain di dunia Python.

Dengan Pandas 1.0, pencipta Pandas memperkenalkan banyak perubahan yang telah berlaku dalam beberapa waktu sekarang. Berikut adalah ikhtisar yang paling penting, dan cara mengatasinya ke hadapan.

Pandas memerlukan Python 3.6.1 atau lebih tinggi

Perubahan terbesar dalam Pandas 1.0 adalah menghentikan sokongan untuk semua versi Python lebih awal daripada Python 3.6.1. Pandas menolak sokongan untuk Python 2 dan berkomitmen secara eksklusif untuk Python 3 pada 2019, jadi ini sebahagian besarnya adalah penyempurnaan dasar yang ada.

Projek ini juga mempunyai dasar sokongan baru untuk versi Pandas yang akan datang. Sebarang penurunan sokongan untuk versi Python akan dilancarkan dalam versi baru Pandas (2.0, 3.0, dll.). Siaran kecil akan menghentikan ciri, tetapi tidak menghapusnya siaran utama akan membuang ciri.

Nilai NA baru Pandas

Versi Pandas terdahulu menggunakan pelbagai jenis untuk mewakili data yang hilang, bergantung pada jenis wadah - satu untuk jenis datetime, satu untuk objek, dll. Semua ini digabungkan menjadi satu jenis data yang hilang yang disebut NA. Buat masa ini, sokongan untuk NA terbatas pada beberapa jenis objek, dan dianggap eksperimental, sehingga belum dapat digunakan dalam produksi. 

Ketidaksesuaian API

Kerana banyaknya perubahan pada Pandas 1.0, beberapa API Pandas kini tidak sesuai dengan kebelakang. Ini merangkumi perubahan tingkah laku banyak elemen umum:

  • yang DataFrame jenis
  • pandas.array
  • arrays.IntegerArray

Sebilangan besar ketidaksesuaian ini akan meningkatkan amaran, tetapi yang terbaik adalah menguji skrip Pandas yang ada berdampingan dengan rakan Pandas 1.0 mereka untuk melihat bagaimana ia beroperasi.

Ciri yang tidak digunakan di Pandas 1.0

Dokumentasi Pandas menyenaraikan semua ciri yang tidak digunakan lagi tetapi tidak dikeluarkan dalam Pandas 1.0. Sebahagian daripadanya hanya diganti nama atau disusun semula, seperti modul pengujian, sementara yang lain mengubah penggunaan parameter fungsi tertentu. Dalam beberapa kes, seperti dengan Series.item()dan Index.item(), fitur telah diselamatkan dari usang dan akan terus tersedia.

Sekiranya anda menggunakan versi Pandas lebih awal dari 0.25, pencipta Pandas mengesyorkan untuk berpindah ke Pandas 0.25  terlebih dahulu , memastikan semua kod yang bergantung pada Panda berkelakuan seperti yang diharapkan,  kemudian berhijrah ke Pandas 1.0. Ini untuk memastikan bahawa mana-mana kod yang menggunakan fungsi yang tidak digunakan akan ditandai.

Ciri yang dikeluarkan di Pandas 1.0

Beberapa ciri utama Pandas telah dikeluarkan sama sekali dalam Pandas 1.0:

  • SparseSeriesdan SparseDataFrame. Gunakan Seriesatau DataFramedengan sparsevaluespilihan sebagai gantinya.
  • Pendaftaran unit Matplotlib. Ini untuk mengelakkan Matplotlib terpengaruh semasa anda mengimport Pandas.
  • Banyak ciri lain yang sebelumnya tidak digunakan lagi.

Sekali lagi, ini adalah alasan lain untuk menguji calon pelepasan Pandas 1.0 berdampingan dengan pemasangan Pandas yang ada, dan memastikan skrip anda berperilaku seperti yang diharapkan.

Memasang Pandas 1.0

Pandas 1.0 boleh dipasang terus di Python melalui pengurus pakej Pip, dengan menaip pip install pandas. Pandas 1.0 juga tersedia sebagai sebahagian daripada edaran Anaconda Python untuk pengkomputeran saintifik.

Dalam semua keadaan, lebih baik memasang Pandas dalam persekitaran maya, terutamanya jika anda ingin menjalankan ujian skrip Pandas 1.0 bersebelahan dengan rakan versi sebelumnya.