Pemecahan Array NumPy

Pecahkan array NumPy

Pecahkan adalah operasi yang berlawanan dari penggabungan.

Penggabungan (Joining) adalah penggabungan beberapa array menjadi satu, pecahkan (Spliting) adalah memecahkan satu array menjadi beberapa.

Kami menggunakan array_split() Percabangan array, lakukan pecahkan array dan jumlah pecahan yang akan dijalankan ke dalamnya.

Contoh

Pecahkan array menjadi 3 bagian:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 3)
print(newarr)

Jalankan contoh

Keterangan:Nilai kembalian adalah array yang mengandung tiga array.

Jika elemen array kurang dari jumlah yang diminta, ia akan mengatur dari ujung terakhir sesuai dengan jumlah yang diinginkan.

Contoh

Pecahkan array menjadi 4 bagian:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 4)
print(newarr)

Jalankan contoh

Petunjuk:Kami juga ada split() Metode tersedia, tetapi ketika elemen array sumber sedikit digunakan untuk memecahkan, ia tidak akan mengatur elemen, seperti contoh di atas,array_split() Bekerja dengan baik, tetapi split() akan gagal.

Percabangan menjadi array

array_split() Nilai kembalian metode adalah array yang mengandung setiap pecahan.

Jika memecahkan array menjadi 3 array, maka dapat diakses seperti elemen array apapun dari hasilnya:

Contoh

Akses array yang dipecahkan:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 3)
print(newarr[0])
print(newarr[1])
print(newarr[2])

Jalankan contoh

Percabangan array dua dimensi

Percabangan array dua dimensi, gunakan sintaks yang sama.

Penggunaan array_split() Metode, masukkan array yang ingin dipecahkan dan jumlah yang ingin dipecahkan.

Contoh

Memecahkan 2-D ini menjadi tiga array 2-D.

import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])
newarr = np.array_split(arr, 3)
print(newarr)

Jalankan contoh

Pemanggilan di atas mengembalikan tiga array 2-D.

Biarkan kita lihat contoh lain, kali ini setiap elemen array 2-D berisi 3 elemen.

Contoh

Memecahkan 2-D ini menjadi tiga array 2-D.

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3)
print(newarr)

Jalankan contoh

Pemanggilan di atas mengembalikan tiga array 2-D.

Selain itu, Anda dapat menentukan sumbu untuk memecah.

Contoh di bawah ini masih mengembalikan tiga array 2-D, tetapi mereka dipotong sepanjang baris (axis=1).

Contoh

Memecahkan 2-D ini menjadi tiga array 2-D sepanjang baris.

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3, axis=1)
print(newarr)

Jalankan contoh

Solusi lainnya adalah menggunakan hstack() Sebaliknya hsplit().

Contoh

Gunakan metode hsplit() untuk membagi array 2-D sepanjang baris menjadi tiga array 2-D.

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.hsplit(arr, 3)
print(newarr)

Jalankan contoh

Petunjuk:vsplit() dan dsplit() Dapat digunakan dengan vstack() dan dstack() Metode penggantian yang serupa.