Array Pemisah NumPy


Memisahkan Array NumPy

Pemisahan adalah operasi kebalikan dari Bergabung.

Bergabung menggabungkan beberapa larik menjadi satu dan Memisahkan memecah satu larik menjadi banyak.

Kami menggunakan array_split()untuk memisahkan array, kami memberikan array yang ingin kami pisahkan dan jumlah pemisahannya.

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)

Catatan: Nilai yang dikembalikan adalah larik yang berisi tiga larik.

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)

Catatan: Kami juga memiliki metode yang split()tersedia tetapi tidak akan menyesuaikan elemen ketika elemen kurang dalam array sumber untuk pemisahan seperti pada contoh di atas, array_split()bekerja dengan baik tetapi split()akan gagal.



Pisahkan Menjadi Array

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

Jika Anda membagi sebuah array menjadi 3 array, Anda 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])

Memisahkan Array 2-D

Gunakan sintaks yang sama saat memisahkan array 2-D.

Gunakan array_split()metodenya, berikan array yang ingin Anda bagi dan jumlah pemisahan yang ingin Anda lakukan.

Contoh

Pisahkan larik 2-D menjadi tiga larik 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 di atas mengembalikan tiga larik 2-D.

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

Contoh

Pisahkan larik 2-D menjadi tiga larik 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 di atas mengembalikan tiga larik 2-D.

Selain itu, Anda dapat menentukan sumbu mana yang ingin Anda lakukan pemisahan.

Contoh di bawah ini juga mengembalikan tiga larik 2-D, tetapi mereka dipisah sepanjang baris (sumbu=1).

Contoh

Pisahkan larik 2-D menjadi tiga larik 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)

Solusi alternatif menggunakan hsplit()kebalikan dari hstack()

Contoh

Gunakan hsplit()metode untuk membagi larik 2-D menjadi tiga larik 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)

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