Lewati ke konten utama

Rilis NumPy 2.0: Perubahan Utama dan Migrasi

Cari tahu semua fitur baru dan perubahan yang dibuat dalam pembaruan NumPy 2.0.
Diperbarui 28 Sep 2026  · 9 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Seiring berkembangnya data science, beberapa perubahan pada pustaka umum menjadi perlu, dan kali ini, pustaka NumPy mendapatkan pembaruan ke versi 2.0. Pembaruan besar ini dirilis pada Juni 2024 dan menghadirkan banyak fitur serta peningkatan baru pada pustaka Python populer ini.

Dengan lompatan perubahan sebesar ini, pasti ada beberapa hal yang perlu diperhatikan dan mungkin mengharuskan Anda menyesuaikan kode yang ada.

Dalam artikel ini, kami akan berbagi ringkasan tentang apa saja yang ada di NumPy 2.0, perubahan kunci yang dibuat, dan cara Anda bermigrasi ke NumPy 2.0.

Pengantar NumPy 2.0

Dibangun di atas masukan bertahun-tahun dan kemajuan teknologi, NumPy 2.0 merupakan peningkatan ambisius, berbeda dengan banyak pembaruan sebelumnya selama beberapa tahun terakhir.

Dalam artikel rilis blog mereka, diperkenalkan API yang diperbarui, aturan promosi skalar yang ditingkatkan, API DType baru dan DType string baru, peningkatan kompatibilitas, serta penyelarasan standar API. Melalui upaya ini, pengguna akan merasakan peningkatan signifikan pada kinerja dan dokumentasi.

Namun, dengan perubahan besar pada pustaka, rilis baru ini juga membawa sedikit gangguan. Misalnya, perubahan API dan ABI baru tidak kompatibel mundur.

Fitur Baru Utama

Menurut catatan rilis, NumPy 2.0 memperkenalkan perubahan signifikan, dan berikut hal-hal pentingnya:

Perubahan API dan ABI

Dalam pembaruan ini, ada beberapa perubahan pembersihan yang dilakukan pada API dan ABI (Application Binary Interface).

Dengan pembaruan baru, sebagaimana dinyatakan dalam NEP (NumPy Enhancement Proposal) 52, NumPy melepaskan kebiasaan kompatibilitas mundurnya untuk memastikan API yang lebih ringkas, lebih bersih, dan lebih sederhana.

Berikut beberapa perubahan penting:

Untuk perubahan ABI, akan ada pemutusan pada rilis baru. Ini akan memengaruhi biner paket yang menggunakan NumPy C API.

Siapa pun yang membangunnya terhadap rilis NumPy 1.xx sebelumnya tidak akan bekerja dengan NumPy 2.0. Saya akan berbagi lebih lanjut tentang cara migrasi sesuai rekomendasi mereka. Anda akan menemui pesan ImportError, yang menunjukkan ketidakcocokan biner.

API DType Baru dan String DType

Sebagaimana diusulkan dalam NEP 41, pembaruan 2.0 ini merilis API baru untuk menerapkan tipe data kustom yang ditentukan pengguna menggunakan tipe data StringDType. API baru ini mencakup dukungan asli untuk tipe data string berdurasi variabel, yang sudah lama diminta pengguna NumPy.

Aturan promosi skalar

Awalnya diusulkan dalam NEP 50, aturan promosi skalar di NumPy juga telah diperbarui untuk mencegah kejutan bagi pengguna. Sebelumnya, promosi sering bergantung pada nilai data dari array masukan alih-alih hanya DType-nya, yang bisa membingungkan.

Untuk jalur promosi baru, lihat gambar di bawah:

Presisi dan promosi DType

Sumber: Presisi dan promosi DType NumPy

Peningkatan kinerja

Rilis baru ini juga menghadirkan beberapa peningkatan kinerja.

Berikut beberapa area kunci yang ditingkatkan:

  • Fungsi pengurutan yang lebih cepat
  • Peningkatan kinerja operasi aljabar linear di macOS melalui macOS Accelerate

Kompatibilitas Windows

Untuk lebih sesuai bagi pengguna Windows, tim NumPy juga telah memperbaiki beberapa masalah kompatibilitas pada rilis baru ini.

Misalnya, mereka mengubah tipe integer bawaan di Windows menjadi int64 alih-alih int32, untuk menyamai perilaku bawaan di platform OS lainnya.

Dokumentasi dan kegunaan yang ditingkatkan

Lebih banyak dokumentasi ditambahkan ke struktur modul NumPy, dan ada peningkatan pada navigasi panduan referensi. Dokumentasi membangun dari sumber juga ditulis ulang sepenuhnya.

Cara Bermigrasi ke NumPy 2.0

Memperbarui ke NumPy 2.0

Pertama, untuk mulai menggunakan versi baru NumPy ini, Anda perlu meningkatkan dari versi saat ini ke versi terbaru.

Untuk melakukannya, cukup gunakan opsi upgrade pada perintah ini:

pip install -U numpy

Sebagai alternatif, Anda juga dapat menggunakan ini:

pip install –upgrade numpy

Opsi upgrade ini memperbarui paket yang ditentukan ke versi terbaru, yang dalam hal ini adalah NumPy. Setelah menjalankan perintah, biarkan sistem memasang paket hingga Anda melihat pesan “Successfully installed numpy-2.0.0”.

Jika Anda ingin memperbarui ke versi tertentu alih-alih versi terbaru, Anda dapat menggunakan perintah ini:

pip install numpy==2.0.0

Ini memastikan bahwa versi yang Anda pasang adalah yang benar, yang dalam hal ini 2.0.0.

Untuk pemeriksaan kedua, jalankan perintah ini:

pip list

Ini akan menampilkan semua paket/pustaka yang terpasang beserta versinya masing-masing. Periksa keluarannya untuk melihat apakah pustaka numpy telah diperbarui ke versi 2.0.0. 

Dalam proses pemasangan, Anda mungkin juga menjumpai beberapa pesan dependensi yang muncul berwarna merah. Ini berarti ada beberapa potensi masalah pada kode Anda setelah memperbarui ke versi terbaru. Anda kemudian dapat meninjau area spesifik dan pustaka yang terdampak satu per satu.

Meningkatkan ke NumPy 2.0 dapat bersifat mengganggu sementara, jadi sebaiknya pastikan semuanya bermigrasi dengan baik ke dalam skrip dan pipeline Anda ke depan.

Untuk panduan lengkap, silakan lihat Panduan Migrasi NumPy 2.0 resmi yang dirilis oleh para pengembang.

Berikut area kunci yang perlu diperhatikan saat bermigrasi:

Menangani perubahan promosi tipe data NumPy

Untuk panduan lengkap tentang berbagai perubahan perilaku dan perubahan tipe data yang diharapkan, lihat tabel ini di NEP 50.

Masalah kompatibilitas mundur utama adalah presisi skalar Anda.

Sebagai contoh, ketika operasi seperti ini dijalankan:

np.float32(6) + 6.

Ini mengembalikan tipe data float32 alih-alih float64, yang membuat kompatibilitas mundur menjadi sulit. Untuk mengatasinya, berikut yang mereka rekomendasikan:

Lakukan casting tipe data secara eksplisit: Gunakan skalar int(), float(), atau numpy_scalar.item() untuk menentukan tipe data Anda secara eksplisit.

Aktifkan peringatan untuk melacak perubahan: Gunakan peringatan sebagai cara untuk mencari perubahan melalui traceback error.

Menangani perubahan namespace

Dengan pembaruan 2.0 ini, banyak penghapusan namespace dapat memengaruhi kode Anda. Tim NumPy menyarankan langkah-langkah berikut:

  1. Periksa alias yang didepresiasi dan pedoman migrasi di sini.
  2. Ganti alias yang didepresiasi dengan alternatif yang kompatibel mundur.
  3. Periksa anggota privat yang dihapus pada pembaruan 2.0.
  4. Gunakan API yang ada jika anggota privat digunakan.

Menangani pemutusan ABI

Jika Anda menggunakan paket Python yang bergantung pada C API NumPy, Anda harus menangani pemutusan pada ABI. Para pengembang telah merilis beberapa saran khusus NumPy 2.0 untuk situasi semacam itu guna mengatasi ketidakcocokan:

Plugin Ruff untuk memperbarui kode Python

Untuk membantu proses migrasi Anda, Anda dapat menggunakan plugin Ruff dengan aturan Ruff khusus, NPY201.

Ruff tersedia sebagai ruff di PyPI. Untuk memasang Ruff, masukkan ini di baris perintah:

pip install ruff

Untuk detail lebih lanjut, lihat panduan pemasangan Ruff lengkap.

Pastikan untuk menentukan aturan NP201 pada pyproject.toml Anda:

[tool.ruff.lint]
select = ["NPY201"]

Sebagai alternatif, Anda juga dapat menentukan aturan NPY201 menggunakan baris perintah:

$ ruff check path/to/code/ --select NPY201

Kontribusi Komunitas

Rilis NumPy 2.0 merupakan puncak dari upaya komunitasnya. Melalui banyak NEP yang disarankan komunitas, banyak proposal yang telah lama ditunggu akhirnya diimplementasikan.

Para pengembang, peneliti, dan penggemar yang antusias semuanya memainkan peran penting dalam rilis terobosan ini, berbagi keahlian, memberikan masukan, dan mengirimkan peningkatan kode yang sangat membentuk NumPy 2.0.

Kesimpulan

NumPy 2.0 merupakan langkah besar ke depan bagi bahasa pemrograman Python, dengan banyak fitur baru serta peningkatan dalam kinerja, kompatibilitas, dan kegunaan. Jika Anda mengalami masalah migrasi atau beberapa bentuk error, sebaiknya hubungi tim NumPy secara langsung.

Semoga artikel ini membantu dalam memahami perubahan utama pada pembaruan NumPy yang menarik ini. Untuk bacaan lebih mendalam, silakan baca Tutorial NumPy kami.

Jika Anda baru mengenal NumPy dan ingin mengeksplorasi lebih jauh, cobalah kursus Introduction to NumPy kami atau ikuti pelatihan live code along NumPy ini. 


Austin Chia's photo
Author
Austin Chia
LinkedIn

Saya Austin, seorang blogger dan penulis teknologi dengan pengalaman bertahun-tahun sebagai data scientist dan analis data di bidang kesehatan. Memulai perjalanan teknologi dengan latar belakang biologi, kini saya membantu orang lain melakukan transisi yang sama melalui blog teknologi saya. Ketertarikan saya pada teknologi mendorong kontribusi tulisan saya untuk puluhan perusahaan SaaS, menginspirasi orang lain dan membagikan pengalaman saya.

Topik
Python

Kursus Python teratas

Kursus

Pengantar NumPy

4 jam
62.6K
Kuasai keterampilan Anda dalam NumPy dengan belajar cara membuat, mengurutkan, menyaring, dan memperbarui array menggunakan sensus pohon di NYC.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya