NumPy arange ve linspace Farkı
NumPy arange ve linspace farkı, Python öğrenenlerin sık karıştırdığı konulardan biridir. Çünkü iki fonksiyon da belirli aralıkta sayı üretir.
Ancak bu iki fonksiyon aynı mantıkla çalışmaz. np.arange() adım boyutuna odaklanır. np.linspace() ise toplam eleman sayısına odaklanır.
Bu yazıda iki fonksiyonun farkını net örneklerle öğreneceksiniz.
np.arange() Nedir?
Öncelikle np.arange() fonksiyonuna bakalım. Bu fonksiyon, belirli bir başlangıç ve bitiş değeri arasında sayı üretir.
Ayrıca sayıların kaçar kaçar artacağını siz belirlersiniz.
Örnek:
import numpy as np
dizi = np.arange(0, 10, 2)
print(dizi)Çıktı:
[0 2 4 6 8]Bu örnekte dizi 0’dan başlar. Ardından 2’şer artar. Ancak NumPy 10 değerini sonuca katmaz.
np.arange() Nasıl Kullanılır?
np.arange() fonksiyonunun temel yapısı şöyledir:
np.arange(baslangic, bitis, adim)Burada üç değer kullanırsınız:
| Parametre | Açıklama |
| başlangıç | Dizinin başlayacağı değer |
| bitiş | Dizinin duracağı sınır |
| adım | Sayıların artış miktarı |
Örneğin:
import numpy as np
sayilar = np.arange(5, 20, 5)
print(sayilar)Çıktı:
[ 5 10 15]Burada NumPy 20 değerine kadar ilerler. Fakat 20 değerini çıktıya eklemez.
np.linspace() Nedir?
Şimdi np.linspace() fonksiyonuna geçelim. Bu fonksiyon da belirli aralıkta sayı üretir. Ancak burada adım boyutunu siz vermezsiniz.
Bunun yerine kaç adet sayı istediğinizi yazarsınız.
Örnek:
import numpy as np
dizi = np.linspace(0, 1, 5)
print(dizi)Çıktı:
[0. 0.25 0.5 0.75 1. ]Bu örnekte NumPy, 0 ile 1 arasında toplam 5 sayı üretir. Ayrıca 1 değerini de sonuca katar.
np.linspace() Nasıl Kullanılır?
np.linspace() fonksiyonunun temel yapısı şöyledir:
np.linspace(baslangic, bitis, adet)Bu fonksiyonda üç değer kullanırsınız:
| Parametre | Açıklama |
| başlangıç | İlk değer |
| bitiş | Son değer |
| adet | Üretilecek toplam sayı |
Örneğin:
import numpy as np
noktalar = np.linspace(10, 50, 5)
print(noktalar)Çıktı:
[10. 20. 30. 40. 50.]Gördüğünüz gibi NumPy 10 ile 50 arasında 5 eşit aralıklı sayı oluşturdu.
NumPy arange ve linspace Farkı
Kısaca fark şudur: np.arange() adım boyutunu önemser. np.linspace() ise eleman sayısını önemser.
| Özellik | np.arange() | np.linspace() |
| Temel mantık | Adım boyutu | Eleman sayısı |
| Bitiş değeri | Sonuca girmez | Varsayılan olarak sonuca girer |
| En iyi kullanım | Ritmik sayı üretme | Grafik için eşit nokta üretme |
| Ondalıklı sayılar | Dikkat ister | Daha kontrollü sonuç verir |
Bu nedenle seçim yaparken önce ihtiyacınızı netleştirin.
Bu iki fonksiyonun teknik farkları için NumPy resmi dokümantasyonu da incelenebilir.
np.arange() Ne Zaman Kullanılır?
Adım miktarını biliyorsanız np.arange() kullanın.
Örneğin 0’dan 100’e kadar 10’ar artan sayılar istiyorsanız doğru tercih budur:
import numpy as np
dizi = np.arange(0, 100, 10)
print(dizi)Çıktı:
[ 0 10 20 30 40 50 60 70 80 90]Ayrıca bu fonksiyon basit sayı dizileri için çok pratik çalışır.
np.linspace() Ne Zaman Kullanılır?
Kaç adet sayı istediğinizi biliyorsanız np.linspace() kullanın.
Özellikle grafik çizimlerinde bu fonksiyon daha doğru bir tercih olur.
NumPy, Pandas ve veri görselleştirme konularını uygulamalı öğrenmek isteyenler için Python Yapay Zeka Uzmanlığı Eğitimi incelenebilir.
Örnek:
import numpy as np
x = np.linspace(0, 10, 100)
print(x)Bu kod 0 ile 10 arasında 100 eşit aralıklı değer üretir. Böylece grafik çizimi için daha dengeli bir x ekseni elde edersiniz.
Ondalıklı Sayılarda Hangisi Daha Mantıklı?
Ondalıklı adım kullanırken np.linspace() daha güvenli sonuç verir.
Çünkü np.arange() bazı durumlarda kayan nokta hassasiyeti nedeniyle beklenmeyen küçük farklar gösterebilir.
Örneğin:
import numpy as np
dizi = np.arange(0, 1, 0.1)
print(dizi)Bu kullanım bazı projelerde hassasiyet sorunu yaratır.
Buna karşılık şu kullanım daha kontrollüdür:
import numpy as np
dizi = np.linspace(0, 1, 10)
print(dizi)Bu nedenle bilimsel hesaplama ve grafik çiziminde çoğu zaman np.linspace() daha iyi seçimdir.
NumPy, özellikle Python ile makine öğrenmesi çalışmalarında veri hazırlama ve sayısal işlem süreçlerinde sık kullanılır.
Sonuç
Sonuç olarak NumPy arange ve linspace farkı basit bir kurala dayanır.
Adım boyutunu biliyorsanız np.arange() kullanın. Toplam eleman sayısını biliyorsanız np.linspace() kullanın.
Kısaca:
- “5’er 5’er artsın” diyorsanız
np.arange()seçin. - “Toplam 100 nokta olsun” diyorsanız
np.linspace()seçin.
Bu ayrımı öğrendiğinizde NumPy ile sayı dizisi oluşturmak çok daha kolay hale gelir.







