Python 118 - NumPy 3
Merhabalar,
Bugün NumPy dizilerine atadığımız verilere ulaşma konusunu ele alıyoruz ve önce klasik for
döngüsüyle bunun nasıl yapıldığını, ardından nd iter
ve nd enumerate
yardımcı fonksiyonlarını tanıyacağız (nd
yi n
umpy d
ata olarak düşünün ve aradaki boşlukları görmeyin).
İlk örneğimiz 3 elemanlı, 1 boyutlu bir dizinin elemanlarını yazdırmak olsun:
import numpy as np
arr = np.array( ["elma","armut"] ) # 1-D dizimiz hazır
for x in arr:
print(x)
2-D bir diziyi iç içe 2 for ile yazdırabiliriz:
import numpy as np
arr = np.array( [[1, 2, 3], [4, 5, 6]] ) # 2-D dizimiz hazır
for satır in arr:
for x in satır:
print(x)
Benzer şekilde 3-D bir dizinin tüm elemanlarını iç içe 3 tane for
döngüsüyle tarayabiliriz:
import numpy as np
arr = np.array( [[[1, 2, 3], [4, 5, 6], [7, 8, 9]]] ) # 2-D dizimiz hazır
for x in arr:
for y in x:
for z in y:
print(z)
nditer
Gördüğünüz gibi boyut sayısı arttıkça iç içe kurmamız gereken döngü sayısı da artıyor. İşte tam bu noktada nditer()
yardımcı fonksiyonu pratik bir çözüm sunuyor. Yukarıdaki son örneği nditer()
ile basitçe şöyle yazıyoruz ve fazladan for
satırlarını kaldırmış oluyoruz:
import numpy as np
arr = np.array( [[[1, 2, 3], [4, 5, 6], [7, 8, 9]]] ) # 2-D dizimiz hazır
for x in np.nditer(arr)
print(x)
Fonksiyon NumPy kütüphanesine ait olduğundan başında np.
noktalı referansını kullanmak gerektiğini unutmayalım.
ndenumerate
Kod dünyasında enumerate
ifadesi sıra numarası vermek anlmına geliyor. Eğer bir NumPy dizisinin elemanıyla birlikte, o elemanın dizideki pozisyonu da gerekiyorsa, yani bulunduğu boyuttaki sıra numarası da lazımsa ndenumerate
yardımcı fonksiyonunu kullanabiliriz:
import numpy as np
arr = np.array( [ ["elma", "armut"], ["kiraz","erik"] ] )
for i, x in np.ndenumerate(arr):
print(i, x)
Bu haftalık bu kadar, tekrar görüşmek dileklerimle hoşça kalın.
- Python 117 - Numpy 2 / 11.07.2021
- Python 116 - Pythonu online ve kütüphaneleriyle birlikte kullanmak / 04.07.2021
- Python 115 - Pythonda Kütüphaneler ve NumPy / 27.06.2021
- Python 114 - Alıştırmalar / 20.06.2021
- Python 113 - String İşlemleri / 13.06.2021
- Python 112 - For ve While döngüleri / 30.05.2021
- Python 111 - Özet / 23.05.2021
- Python 110 - Fonksiyonlar / 29.03.2021
- Python 109 - Slicing / 28.02.2021