Diselesaikan: numpy collapse dimensi terakhir

Dalam beberapa tahun terakhir, penggunaan Python di berbagai bidang telah berkembang secara eksponensial, khususnya di bidang manipulasi data dan komputasi ilmiah. Salah satu pustaka yang paling umum digunakan untuk tugas ini adalah NumPy. NumPy adalah perpustakaan yang kuat dan serbaguna yang banyak digunakan untuk bekerja dengan array dan matriks multidimensi yang besar, di antara fungsi matematika lainnya. Satu operasi umum dalam bekerja dengan struktur data ini adalah kebutuhan untuk menciutkan atau mengurangi dimensi terakhir dari sebuah array. Pada artikel ini, kita akan membahas topik ini secara mendetail, dimulai dengan pengenalan masalah, diikuti dengan solusi, dan penjelasan kode langkah demi langkah. Terakhir, kami akan mempelajari beberapa topik dan pustaka terkait yang mungkin menarik.

Kebutuhan untuk runtuh dimensi terakhir array dapat muncul dalam berbagai situasi, seperti ketika Anda telah menghitung hasil dari array multidimensi dan ingin memperoleh representasi data yang lebih sederhana dan tereduksi. Operasi ini pada dasarnya melibatkan transformasi larik asli menjadi satu dengan dimensi lebih sedikit dengan menghilangkan, atau menciutkan, dimensi terakhir di sepanjang porosnya.

Solusi: Menggunakan np.squeeze

Salah satu cara untuk mengatasi masalah ini adalah dengan menggunakan numpy.squeeze fungsi. Fungsi ini menghapus entri satu dimensi dari bentuk larik input.

import numpy as np

arr = np.random.rand(2, 3, 1)
print("Original array shape:", arr.shape)

collapsed_arr = np.squeeze(arr, axis=-1)
print("Collapsed array shape:", collapsed_arr.shape)

Penjelasan Langkah-demi-Langkah

Mari kita uraikan kodenya dan pahami cara kerjanya.

1. Pertama, kita impor library NumPy sebagai np:

import numpy as np

2. Selanjutnya, kita membuat array 3 dimensi acak dengan bentuk (2, 3, 1):

arr = np.random.rand(2, 3, 1)
print("Original array shape:", arr.shape)

3. Sekarang, kita menggunakan np.squeeze berfungsi untuk menciutkan dimensi terakhir dari array dengan menentukan sumbu parameter sebagai -1:

collapsed_arr = np.squeeze(arr, axis=-1)
print("Collapsed array shape:", collapsed_arr.shape)

4. Hasilnya, kita mendapatkan larik baru dengan bentuk (2, 3), yang menunjukkan bahwa dimensi terakhir telah berhasil diciutkan.

Solusi Alternatif: Bentuk Ulang

Cara lain untuk menciutkan dimensi terakhir adalah dengan menggunakan numpy.reshape berfungsi dengan parameter yang tepat untuk mencapai hasil yang diinginkan.

collapsed_arr_reshape = arr.reshape(2, 3)
print("Collapsed array shape using reshape:", collapsed_arr_reshape.shape)

Dalam hal ini, kami telah secara eksplisit membentuk ulang larik asli agar memiliki bentuk (2, 3), yang secara efektif menciutkan dimensi terakhir.

Perpustakaan dan Fungsi Terkait

Selain NumPy, ada beberapa perpustakaan lain di ekosistem Python yang menawarkan alat untuk bekerja dengan array dan matriks. Salah satu perpustakaan tersebut adalah SciPy, yang dibuat berdasarkan NumPy dan menyediakan fungsionalitas tambahan untuk komputasi ilmiah. Di ranah pembelajaran mesin, perpustakaan TensorFlow juga bekerja dengan tensor (yaitu, array multi-dimensi) dan menyediakan serangkaian fungsi manipulasi matriksnya sendiri. Selain itu, Panda perpustakaan dapat digunakan untuk memanipulasi DataFrame, struktur data tingkat tinggi yang dapat dianggap sebagai tabel yang berisi array. Selanjutnya, numpy.newaxis operasi memungkinkan Anda menambahkan sumbu baru ke larik, yang dapat berguna saat Anda perlu memperluas dimensi larik agar sesuai dengan bentuk yang diperlukan untuk operasi.

Kesimpulannya, kemampuan untuk memanipulasi dan bekerja dengan array secara efektif merupakan keterampilan penting dalam dunia pemrograman dan ilmu data. NumPy adalah perpustakaan yang sangat kuat yang menyediakan fungsionalitas luas, dan teknik pemahaman seperti menciutkan dimensi terakhir akan bermanfaat dalam berbagai situasi saat berhadapan dengan kumpulan data yang besar dan kompleks.

Pos terkait:

Tinggalkan Komentar