NumPy Array Split

 Splitting NumPy Arrays

Splitting/Pemisahan adalah operasi kebalikan dari Joining.

Bergabung/Joining menggabungkan beberapa array menjadi satu dan memisahkan memecah satu array menjadi banyak.

Kita menggunakan array_split() untuk memisahkan array, kita memberikan array yang ingin kita bagi dan jumlah pemisahan.

Contoh
Bagi array menjadi 3 bagian.
import numpy as np

arr = np.array([123456])

newarr = np.array_split(arr, 3)

print(newarr)

Note: Nilai yang dikembalikan adalah array yang berisi 3 array.

Jika array memiliki lebih sedikit elemen dari yang dibutuhkan, array akan menyesuaikan dari akhir.

Contoh
Bagi array menjadi 4 bagian.
import numpy as np

arr = np.array([123456])

newarr = np.array_split(arr, 4)

print(newarr)

Note: Kita juga memiliki metode split() tersedia tetapi tidak akan menyesuaikan elemen ketika elemen kurang dalam array sumber untuk pemisahan seperti pada contoh diatas, array_split() berfungsi dengan baik tetapi split() akan gagal.

Split Into Arrays

Nilai kembalian dari array_split() metode ini adalah array yang berisi setiap pecahan sebagai array.

Jika kita membagi array menjadi 3 array, Kita dapat mengaksesnya dari hasil seperti elemen array lainnya.

Contoh
Akses array yang dipisah.
import numpy as np

arr = np.array([123456])

newarr = np.array_split(arr, 3)

print(newarr[0])
print(newarr[1])
print(newarr[2])

Splitting 2-D Arrays

Gunakan syntax yang sama saat memisahkan array 2-D.

Gunakan array_split(). berikan array yang ingin kita bagi dan jumlah pemisahan yang ingin kita lakukan.

Contoh
Pisahkan array 2-D menjadi tiga array 2-D.
import numpy as np

arr = np.array([[12], [34], [56], [78], [910], [1112]])

newarr = np.array_split(arr, 3)

print(newarr)

Contoh diatas mengembalikan tiga array 2-D.

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

Contoh
Pisahkan array 2-D menjadi tiga array 2-D.
import numpy as np

arr = np.array([[123], [456], [789], [101112], [131415], [161718]])

newarr = np.array_split(arr, 3)

print(newarr)

Contoh diatas mengembalikan tiga array 2-D.

Selain itu, Kita dapat menentukan sumbu/axis mana yang ingin kita lakukan pemisahan.

Contoh dibawah ini juga mengembalikan tiga array 2-D, tetapi mereka dipisah di sepanjang baris (sumbu/axis = 1).

Contoh
Pisahkan array 2-D menjadi tiga array 2-D di sepanjang baris.
import numpy as np

arr = np.array([[123], [456], [789], [101112], [131415], [161718]])

newarr = np.array_split(arr, 3, axis=1)

print(newarr)

Soluai alternatif menggunakan hsplit() kebalikan dari hstack().

Contoh
Gunakan hsplit() untuk membagi array 2-D menjadi tiga array 2-D di sepanjang baris.
import numpy as np

arr = np.array([[123], [456], [789], [101112], [131415], [161718]])

newarr = np.hsplit(arr, 3)

print(newarr)

Note: Alternatif serupa dengan vstack() dan dstack() tersedia sebagai vsplit() dan dsplit().

Komentar

Postingan populer dari blog ini

NumPy Array Search

NumPy Array Iterating