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([1, 2, 3, 4, 5, 6])
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([1, 2, 3, 4, 5, 6])
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([1, 2, 3, 4, 5, 6])
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([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])
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([[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)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([[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)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([[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)Note: Alternatif serupa dengan vstack() dan dstack() tersedia sebagai vsplit() dan dsplit().

Komentar
Posting Komentar