NumPy Ayırma Dizisi


NumPy Dizilerini Bölme

Bölme, Katılmanın ters işlemidir.

Birleştirme, birden çok diziyi tek bir dizide birleştirir ve Bölme, bir diziyi birden çok diziye böler.

Dizileri bölmek için kullanıyoruz array_split(), bölmek istediğimiz diziyi ve bölme sayısını iletiyoruz.

Örnek

Diziyi 3 parçaya bölün:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 3)

print(newarr)

Not: Dönüş değeri, üç dizi içeren bir dizidir.

Dizi gerekenden daha az elemana sahipse, sondan itibaren buna göre ayarlanacaktır.

Örnek

Diziyi 4 parçaya bölün:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

newarr = np.array_split(arr, 4)

print(newarr)

Not: Ayrıca elimizde bir yöntem de var, split()ancak yukarıdaki örnekte olduğu gibi bölme için kaynak dizideki öğeler daha az olduğunda öğeleri ayarlamaz, array_split()düzgün çalışır ancak split()başarısız olur.



Dizilere Böl

Yöntemin dönüş değeri, array_split()her bir bölmeyi bir dizi olarak içeren bir dizidir.

Bir diziyi 3 diziye bölerseniz, diziye herhangi bir dizi öğesi gibi sonuçtan erişebilirsiniz:

Örnek

Bölünmüş dizilere erişin:

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])

2-B Dizileri Bölme

2 boyutlu dizileri bölerken aynı söz dizimini kullanın.

Yöntemi kullanın, array_split()bölmek istediğiniz diziyi ve yapmak istediğiniz bölme sayısını girin.

Örnek

2 boyutlu diziyi üç 2 boyutlu diziye ayırın.

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)

Yukarıdaki örnek, üç adet 2 boyutlu dizi döndürür.

Başka bir örneğe bakalım, bu sefer 2 boyutlu dizilerdeki her eleman 3 eleman içeriyor.

Örnek

2 boyutlu diziyi üç 2 boyutlu diziye ayırın.

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)

Yukarıdaki örnek, üç adet 2 boyutlu dizi döndürür.

Ek olarak, bölmeyi hangi eksende yapmak istediğinizi belirleyebilirsiniz.

Aşağıdaki örnek ayrıca üç adet 2 boyutlu dizi döndürür, ancak bunlar satır boyunca bölünmüştür (eksen=1).

Örnek

2 boyutlu diziyi satırlar boyunca üç adet 2 boyutlu diziye bölün.

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)

Alternatif bir çözüm, hsplit()tersini kullanmaktır.hstack()

Örnek

hsplit()2B diziyi satırlar boyunca üç adet 2B diziye bölmek için yöntemi kullanın .

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)

Not: ve ile benzer alternatifler vstack()ve dstack()olarak vsplit()mevcuttur dsplit().