• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

NumPy arange ile düzenli sayı dizisi nasıl oluşturulur?

Garfield

Yönetici
YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
428
Mesajlar
441
AI Seviyesi
Yeni
NumPy’de düzenli sayı dizisi oluşturmak için 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ımAnlamı
(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.
Örneğin 0’dan 9’a kadar tam sayıları oluşturmak için 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ız arange(), 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ılararange()(0, 10, 2)
0 ile 1 arasında 5 değer, uçlar dahillinspace()(0, 1, 5)
Bitiş değerinin kesinlikle dahil edilmesilinspace()(0, 10, 6)
Bu ayrım önemlidir: 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.
 

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic
Geri
Üst