NumPy’de düzenli sayı dizisi oluşturmak için
Parametrelerin anlamı şöyledir:
Örneğin 0’dan 9’a kadar tam sayıları oluşturmak için
Beklenen çıktı şöyledir:
Burada
Çıktı:
Dizi 2’den başlar ve her elemanda 3 artar. Bir sonraki değer 14 olacağı için
Azalan bir dizi oluşturmak için negatif
Çıktı:
Bu kullanım yaklaşık olarak
Tam sayı dizilerinde
Çıktıdaki dizi
Bu ayrım önemlidir:
Bu örnekte çıktı
Sonuç
np.arange() kullanılır. Başlangıç, bitiş ve adım değerlerini vererek eşit aralıklı bir dizi üretebilirsiniz. Örneğin np.arange(0, 10, 2) ifadesi [0, 2, 4, 6, 8] değerlerini üretir; 10 son değeri diziye dahil edilmez.arange() söz dizimi ve parametreleri
Önce NumPy’yi içe aktarın:
Python:
import numpy as np
arange() şu biçimlerde kullanılabilir:
Python:
np.arange(stop)
np.arange(start, stop)
np.arange(start, stop, step)
Parametrelerin anlamı şöyledir:
| Kullanım | Anlamı |
|---|---|
| (stop) | 0’dan başlar, stop değerinden küçük sayılara kadar ilerler. |
| (start, stop) | start değerinden başlar ve varsayılan 1 adımla ilerler. |
| (start, stop, step) | start değerinden başlar, her seferinde step kadar ilerler. |
stop değerini 10 vermelisiniz:
Python:
import numpy as np
sayilar = np.arange(0, 10)
print(sayilar)
Beklenen çıktı şöyledir:
Kod:
[0 1 2 3 4 5 6 7 8 9]
Burada
10 çıktıda yoktur. arange() için temel kural, pozitif adımda değerlerin stop değerinden küçük olmasıdır.Başlangıç, bitiş ve adım kullanımı
Belirli aralıklarla artan bir dizi oluşturmak için üç parametreyi birlikte kullanabilirsiniz:
Python:
import numpy as np
sayilar = np.arange(2, 13, 3)
print(sayilar)
Çıktı:
Kod:
[ 2 5 8 11]
Dizi 2’den başlar ve her elemanda 3 artar. Bir sonraki değer 14 olacağı için
13 sınırına ulaşmadan durur.Azalan bir dizi oluşturmak için negatif
step kullanın. Bu durumda başlangıç değeri bitiş değerinden büyük olmalıdır:
Python:
import numpy as np
sayilar = np.arange(10, 1, -2)
print(sayilar)
Çıktı:
Kod:
[10 8 6 4 2]
step yönü ile başlangıç ve bitiş değerleri uyumsuzsa dizi boş olur. Örneğin np.arange(1, 10, -1) ifadesi artması gereken bir aralıkta azalma istediği için eleman üretmez.Ondalıklı değerlerde dikkat edilmesi gerekenler
arange() ondalıklı step değerleriyle de kullanılabilir:
Python:
import numpy as np
sayilar = np.arange(0, 1, 0.2)
print(sayilar)
Bu kullanım yaklaşık olarak
0.0, 0.2, 0.4, 0.6, 0.8 değerlerini amaçlar. Ancak bilgisayarların ondalıklı sayıları ikilik biçimde saklaması nedeniyle bazı çıktılarda 0.6000000000000001 benzeri küçük gösterim farkları görülebilir. Bu nedenle belirli sayıda eşit aralıklı değer üretirken ve son noktayı kontrol etmek gerektiğinde np.linspace() daha uygun olabilir.Tam sayı dizilerinde
arange() kullanmak genellikle daha öngörülebilirdir. Gerekirse veri türünü dtype ile açıkça belirtebilirsiniz:
Python:
import numpy as np
sayilar = np.arange(1, 6, dtype=np.int32)
print(sayilar)
print(sayilar.dtype)
Çıktıdaki dizi
[1 2 3 4 5] olur; ikinci satırda kullanılan NumPy tam sayı türü gösterilir. dtype belirlemek, özellikle başka bir kütüphaneye veri aktarırken veya bellek kullanımını kontrol ederken yararlı olabilir.arange() ne zaman, linspace() ne zaman?
Seçim, aralığı nasıl tanımlamak istediğinize bağlıdır. Belirli bir adımla ilerlemek istiyorsanızarange(), belirli sayıda değer üretmek ve bitiş noktasını dahil etmek istiyorsanız linspace() kullanın.| İhtiyaç | Uygun işlev | Örnek |
|---|---|---|
| 2’şer artan tam sayılar | arange() | (0, 10, 2) |
| 0 ile 1 arasında 5 değer, uçlar dahil | linspace() | (0, 1, 5) |
| Bitiş değerinin kesinlikle dahil edilmesi | linspace() | (0, 10, 6) |
arange(0, 10, 2) adımı 2 olarak uygular ve 10’u dahil etmez; linspace(0, 10, 6) ise toplam 6 değer üretir ve 10’u son değer olarak dahil eder.Yaygın hatalar ve sonucu kontrol etme
step=0 kullanılamaz; bu durumda NumPy hata verir. Ayrıca pozitif adımda start < stop, negatif adımda ise start > stop olmalıdır. Oluşturulan dizinin gerçekten beklediğiniz aralıkta olduğunu kontrol etmek için diziyi yazdırabilir veya uzunluğunu len() ile inceleyebilirsiniz:
Python:
import numpy as np
sayilar = np.arange(3, 15, 3)
print(sayilar)
print(len(sayilar))
Bu örnekte çıktı
[3 6 9 12] ve uzunluk 4 olur. Sonraki işlemde diziyi bir hesaplamada kullanabilir, örneğin her elemanın karesini alabilirsiniz:
Python:
sonuclar = sayilar ** 2
print(sonuclar)
Sonuç
[9 36 81 144] olur. Böylece arange() ile oluşturduğunuz düzenli dizi, NumPy’nin dizi işlemleriyle doğrudan işlenebilir.