- 150 Okunma
- 0 Yorum
- 0 Beğeni
NumPy Dizileri Birleştirme, Ayrıştırma ve Sıralama
Birleştirme: Birleştirme işlemi, iki veya daha fazla NumPy dizisini tek bir dizi halinde bir araya getirmektir. Birleştirme işlemi için dizilerin aynı boyutlarda olması gerekir. Örneğin, iki boyutlu iki dizi birleştirilecekse, her ikisinin de aynı sayıda satır ve sütuna sahip olması gerekir. Birleştirme işlemi için NumPy kütüphanesinde concatenate fonksiyonu kullanılır. Bu fonksiyonun ilk parametresi birleştirilecek dizilerin bir listesi, ikinci parametresi ise birleştirme yönünü belirtir. Birleştirme yönü, axis olarak adlandırılır ve 0 veya 1 değerini alabilir. axis=0 ise diziler dikey olarak, yani satır bazında birleştirilir. axis=1 ise diziler yatay olarak, yani sütun bazında birleştirilir. Birleştirme işlemi sonucunda, yeni dizi, birleştirilen dizilerin elemanlarını sırasıyla içerir.
1. UYGULAMA
1. Adım: Bir boyutlu NumPy dizisi oluşturmak için np.array() fonksiyonunu kullanabiliriz. Bu fonksiyonun içine bir liste vererek diziyi tanımlayabiliriz. Örneğin, x=np.array([1,2,3]) şeklinde bir kod yazarak x adında bir NumPy dizisi oluşturabiliriz. Aynı şekilde, y=np.array([4,5,6]) yazarak y adında başka bir NumPy dizisi oluşturabiliriz. Bu iki diziyi birleştirmek için np.concatenate() fonksiyonunu kullanabiliriz. Bu fonksiyonun içine birleştirmek istediğimiz dizileri bir liste olarak veririz. Örneğin, t=np.concatenate([x,y]) yazarak x ve y dizilerini birleştirip t adında yeni bir NumPy dizisi oluşturabiliriz.
2. Adım: Bir başka NumPy dizisi oluşturmak için yine np.array() fonksiyonunu kullanabiliriz. Örneğin, z=np.array([7,8,9]) yazarak z adında bir NumPy dizisi oluşturabiliriz. Bu diziyi t dizisiyle birleştirmek için yine np.concatenate() fonksiyonunu kullanabiliriz. Bu sefer, birleştirmek istediğimiz dizileri [t,z] şeklinde bir liste olarak veririz. Örneğin, t=np.concatenate([t,z]) yazarak t ve z dizilerini birleştirip t adında yeni bir NumPy dizisi oluşturabiliriz.
3. Adım: İki boyutlu NumPy dizileri oluşturmak için np.array() fonksiyonunu kullanabiliriz. Bu fonksiyonun içine iç içe listeler vererek diziyi tanımlayabiliriz. Örneğin, a=np.array([[1,2,3],[4,5,6]]) şeklinde bir kod yazarak a adında bir NumPy dizisi oluşturabiliriz. Bu dizinin boyutu (2,3)’tür, yani iki satır ve üç sütundan oluşur. Aynı şekilde, b=np.array([[7,8,9],[10,11,12]]) yazarak b adında başka bir NumPy dizisi oluşturabiliriz. Bu dizinin boyutu da (2,3)’tür. Bu iki diziyi birleştirmek için np.concatenate() fonksiyonunu kullanabiliriz. Bu fonksiyonun içine birleştirmek istediğimiz dizileri bir liste olarak veririz. Örneğin, c=np.concatenate([a,b]) yazarak a ve b dizilerini birleştirip c adında yeni bir NumPy dizisi oluşturabiliriz. Bu dizinin boyutu (4,3)’tür, yani dört satır ve üç sütundan oluşur.
4. Adım: İki boyutlu NumPy dizilerini sütun bazında birleştirmek için np.concatenate() fonksiyonunu kullanabiliriz. Bu fonksiyonun ikinci bir parametresi vardır, axis. Bu parametre, birleştirme işleminin hangi eksen üzerinde yapılacağını belirler. Eğer axis=0 ise, birleştirme işlemi satır bazında yapılır. Eğer axis=1 ise, birleştirme işlemi sütun bazında yapılır. Ön tanımlı olarak axis=0 değerindedir. Örneğin, d=np.concatenate([a,b],axis=1) yazarak a ve b dizilerini sütun bazında birleştirip d adında yeni bir NumPy dizisi oluşturabiliriz. Bu dizinin boyutu (2,6)’tır, yani iki satır ve altı sütundan oluşur.
- Ayrıştırma: Ayrıştırma işlemi, bir NumPy dizisini belirli noktalardan bölerek birden çok alt diziye ayırmaktır. Ayrıştırma işlemi için NumPy kütüphanesinde split fonksiyonu kullanılır. Bu fonksiyonun ilk parametresi ayrıştırılacak olan diziyi, ikinci parametresi hangi indeks numaralı elemanların ayrıştırılacağını, üçüncü parametresi ise satır veya sütun bazında bölümleme yapılacağını belirtir. Ayrıştırma işlemi sonucunda, yeni diziler, ayrıştırılan dizinin belirtilen bölümlerini içerir.
2. UYGULAMA
Aşağıdaki adımları takip ederek NumPy dizilerini ayrıştırma işlemlerini gerçekleştirebilirsiniz.
1. Adım: Aşağıdaki kodlamalarda bir NumPy dizisi oluşturunuz. Split fonksiyonu ile oluşturulan diziyi
dört parçaya ayırınız.
x=np.array([21,22,23,24,25,26,27,28,29])
np.split(x,4)
2. Adım: Aşağıdaki kodlarda indeks numaralarını kullanarak diziyi belirli aralıkta ayrıştırma işlemini gerçekleştiriniz. np.split(x,[3,7])
Bu işlem diziyi üç alt diziye böler: x[0:3], x[3:7] ve x[7:].
3. Adım: Aşağıdaki kodlarda ayrıştırılan alt dizileri farklı dizilere aktarma işlemini gerçekleştiriniz.
a,b,c=np.split(x,[3,7])
a
b
c
Bu işlem a dizisine x[0:3], b dizisine x[3:7] ve c dizisine x[7:] değerlerini atar.
4. Adım: Aşağıdaki kodlamalarda iki boyutlu bir dizi oluşturarak oluşturulan bu dizinin ayrıştırma işlemini gerçekleştiriniz.
y=np.arange(20).reshape(5,4)
y
Bu işlem 5x4 boyutunda bir dizi oluşturur.
5. Adım: Aşağıdaki kodlarda ayrıştırılan iki boyutlu diziyi satır bazında alt dizilere aktarma işlemini gerçekleştiriniz.
d,e=np.vsplit(y,2)
d
e
Bu işlem y dizisini iki eşit alt diziye bölerek d ve e dizilerine atar.
6. Adım: Aşağıdaki kodlarda ayrıştırılan iki boyutlu diziyi sütun bazında alt dizilere aktarma işlemini gerçekleştiriniz.
f,g=np.hsplit(y,2)
f
g
Bu işlem y dizisini iki eşit alt diziye bölerek f ve g dizilerine atar.
- Sıralama: Sıralama işlemi, bir NumPy dizisini belirli bir kurala göre düzenlemektir. Sıralama işlemi için NumPy kütüphanesinde sort fonksiyonu kullanılır. Bu fonksiyonun ilk parametresi sıralanacak olan diziyi, ikinci parametresi ise sıralama yönünü belirtir. Sıralama yönü, axis olarak adlandırılır ve 0, 1 veya -1 değerini alabilir. axis=0 ise dizinin sütunları sıralanır, axis=1 ise dizinin satırları sıralanır, axis=-1 ise dizinin tüm elemanları sıralanır. Sıralama işlemi sonucunda, yeni dizi, sıralanmış elemanları içerir. Sıralama kuralı, dizinin elemanlarının veri tipine göre belirlenir. Eğer dizinin elemanları sayısal ise, küçükten büyüğe veya büyükten küçüğe sıralanır. Eğer dizinin elemanları alfabetik ise, A’dan Z’ye veya Z’den A’ya sıralanır..
3. UYGULAMA
Aşağıdaki adımları takip ederek NumPy dizilerinin elemanlarını sıralama işlemlerini gerçekleştirebilirsiniz.
1. Adım: Aşağıdaki kodlarda 0 ile 50 arasında rastgele 8 sayıdan oluşan bir boyutlu NumPy dizisi oluşturma işlemini gerçekleştiriniz.
x=np.random.randint(1,50,8)
Bu işlem x dizisine 0 ile 50 arasında rastgele seçilen 8 tam sayı atar.
2. Adım: Aşağıdaki kodlarda oluşturulan diziyi sıralama işlemini gerçekleştiriniz.
np.sort(x)
Bu işlem x dizisinin elemanlarını küçükten büyüğe doğru sıralar ve yeni bir dizi döndürür.
3. Adım: Sıralama işleminin kalıcı olması için aşağıdaki kodlamaları yapınız.
x.sort()
Bu işlem x dizisinin elemanlarını küçükten büyüğe doğru sıralar ve x dizisini değiştirir.
4. Adım: İki boyutlu dizi sıralaması için aşağıdaki kodlamaları yazınız.
y=np.random.randint(1,50,[3,3])
Bu işlem y dizisine 0 ile 50 arasında rastgele seçilen 3x3 boyutunda bir matris atar.
5. Adım: Oluşturulan diziyi satır bazında sıralamak için aşağıdaki kodlamaları yazınız. np.sort(y,axis=1)
Bu işlem y dizisinin her satırını kendi içinde küçükten büyüğe doğru sıralar ve yeni bir dizi döndürür.
6. Adım: Oluşturulan diziyi sütun bazında sıralamak için aşağıdaki kodlamaları yazınız. np.sort(y,axis=0)
Bu işlem y dizisinin her sütununu kendi içinde küçükten büyüğe doğru sıralar ve yeni bir dizi döndürür.
YORUMLAR
Henüz yorum yapılmamış.