Ana içeriğe geç

NumPy linspace() Fonksiyonu Nasıl Kullanılır

Bu hızlı ve kolay eğitimde NumPy linspace() fonksiyonunu nasıl kullanacağınızı öğrenin.

Yapay Zeka ile Keşfedin

NumPy, Python veri bilimi ekosisteminde sayısal verileri verimli bir şekilde işlemek için geniş bir fonksiyon yelpazesi sunan temel bir pakettir. Bunlar arasında, linspace() fonksiyonu, belirli bir aralıkta eşit aralıklı değerler üretmek için sıklıkla kullanılır ve veri görselleştirme ile matematiksel modelleme gibi hassas sayısal aralıklar gerektiren görevler için yararlı bir araçtır. Bu eğitimde, linspace() fonksiyonunun tüm inceliklerini göstereceğim.

Kısa Cevap: np.linspace() Nasıl Kullanılır

Acele ediyorsanız, işte linspace() fonksiyonunun en hızlı açıklaması. NumPy'nin linspace() fonksiyonu, tanımlı bir aralıkta eşit aralıklı sayılardan oluşan bir dizi üretir. Örneğin burada, 0 ile 100 arasında, 5 sayıdan oluşan bir aralıkta bir dizi oluşturuyoruz. Bekleyebileceğiniz gibi, [0, 25, 75, 100] döndürür.

import numpy as np

# Basic usage of linspace to create an array from 0 to 100 with 5 elements
linspace_example = np.linspace(0, 100.0, 5)
linspace_example # Return example

# Output: array([  0.,  25.,  50.,  75., 100.])

NumPy’nin linspace() fonksiyonu neden kullanılır?

linspace() fonksiyonu, doğrusal olarak aralıklı değerler üretmek için basit ve verimli bir yöntemdir; veri görselleştirme, benzetimler (simülasyonlar) ve hatta algoritmaların ince ayarı gibi belirli sayısal aralıkların gerektiği çeşitli senaryolar için kullanışlı bir çözüm sunar. İşte linspace() fonksiyonunun kullanılabileceği birkaç örnek:

  • Veri görselleştirme görevleri: Örneğin, bir uydunun zaman içindeki yörüngesini gösteren bir çizgi grafiği oluştururken, grafikte pürüzsüz ve kesintisiz bir çizgi sağlamak için konum verisinin örneklendiği zaman aralıklarını üretmek üzere linspace() kullanılabilir.
  • Simülasyonlar: Finansal modellemede, değişen faiz oranlarının tahvil fiyatlaması üzerindeki etkisini değerlendirmek için linspace(), en düşük olası değerlerden en yüksek beklenen değerlere kadar bir faiz oranı aralığı üreterek tüm spektrum boyunca kapsamlı bir analiz yapılmasına olanak tanır.
  • Bilimsel araştırmalar: Küresel ısınmanın kutup buzullarına etkilerini incelerken, araştırmacılar birkaç on yıla yayılan eşit aralıklı zaman dilimleri oluşturmak için linspace() kullanabilir. Her aralıkta, ortalama küresel sıcaklık artışını ve bunun buz erime hızlarına etkisini simüle edebilirler.

NumPy linspace() Söz Dizimi ve Örneklerle Kullanım

Daha önce belirtildiği gibi, linspace() fonksiyonu çeşitli sayısal hesaplamalar için yararlı olan doğrusal aralıklı değerler oluşturur. Örneklere dalmadan önce, linspace() kullanırken çalışabileceğiniz farklı argümanlara göz atalım.

NumPy linspace() Argümanları

  • start: Dizinin başlangıç değeri.
  • stop: Dizinin bitiş değeri.
  • num (opsiyonel): Belirtilen örnek sayısı. Varsayılan 50’dir ve negatif olamaz.
  • endpoint (opsiyonel): True (varsayılan) ise, stop son örnektir. False ise, stop değeri linspace() tarafından üretilen dizide yer almaz. Bu, fonksiyonun başlangıçtan stop değerinden hemen önceye kadar eşit aralıklı örnekler oluşturacağı ve stop değerinin kendisini dışlayacağı anlamına gelir. Uç noktaya yaklaşan ancak ona ulaşmayan bir aralığa ihtiyaç duyduğunuzda, üretilen değer aralığı üzerinde daha esnek bir kontrol sağlar.
  • retstep (opsiyonel): True ise, (samples, step) döndürür; burada step, örnekler arasındaki aralıktır.
  • dtype (opsiyonel): Çıktı dizisinin türü. Verilmezse, dtype start ve stop argümanlarına göre belirlenir.
  • axis (opsiyonel): Yalnızca çok boyutlu dizilerle çalışırken, örneklerin sonuçta hangi eksende depolanacağını belirtir.

linspace() ile 1 boyutlu diziler oluşturma

linspace() içindeki argümanları ayrıntılı biçimde incelediğimize göre, şimdi birkaç uygulamalı örneğe bakalım!

linspace() kullanarak eşit aralıklı 1 boyutlu bir dizi oluşturma

Bu örnek, 0 ile 10 arasında 7 eşit aralıklı sayıdan oluşan bir dizi oluşturur.

import numpy as np

# Create an array of 7 evenly spaced elements from 0 to 10
uniform_array = np.linspace(0, 10, num=7)
print("Uniform Array")
uniform_array
Uniform Array
array([ 0., 1.66666667, 3.33333333, 5., 6.66666667,8.33333333, 10.])

linspace() kullanarak eşit aralıklı 1 boyutlu bir dizide uç noktayı hariç tutma

Bu örnekte, 10 ile 20 arasında 8 sayıdan oluşan bir dizi üretiyoruz ancak diziden son değeri (20) çıkarıyoruz; böylece endpoint argümanının kullanımını gösteriyoruz.

import numpy as np


# Create an array of 8 elements from 10 to 20, excluding 20
exclude_final_array = np.linspace(10, 20, num=8, endpoint=False)
print("Array Excluding Final Value")
exclude_final_array
Array Excluding Final Value
array([10. , 11.25, 12.5 , 13.75, 15. , 16.25, 17.5 , 18.75])

linspace() kullanarak eşit aralıklı 1 boyutlu bir dizide adım boyutunu dahil etme

Burada, -5 ile 5 arasında 4 öğeden oluşan bir dizi oluşturuyoruz. Ayrıca adım boyutunu yakalayıp görüntülüyoruz.

import numpy as np


# Create an array of 4 elements from -5 to 5 and capture the step size
step_array, step = np.linspace(-5, 5, num=4, retstep=True)
print("Array with Defined Step Size", step_array)
print("Step Size", step)
Array with Defined Step Size [-5.         -1.66666667  1.66666667  5.        ]
Step Size 3.3333333333333335

linspace() ile N boyutlu diziler oluşturma

linspace(), çok boyutlu diziler oluşturmak için de kullanışlıdır. Aşağıda bununla ilgili birkaç örnek gösteriyoruz.

linspace() kullanarak 2 boyutlu bir dizi oluşturma

Bu örnek, her satırın [0, 10] vektöründen [5, 15] vektörüne 4 adımda yumuşak bir geçiş yaptığı, yani bir gradyan etkisi oluşturduğu bir 2B dizinin nasıl üretileceğini gösterir.

import numpy as np


# Perform column-wise linear interpolation from [10, 20] to [15, 25] over 3 steps
column_interpolation_array = np.linspace([10, 20], [15, 25], num=3, axis=1)
print("Column-wise Interpolation Array:")
print(column_interpolation_array)
Column-wise Interpolation Array:
[[10.  12.5 15. ]
 [20.  22.5 25. ]]

NumPy linspace() Alternatifleri

linspace() oldukça faydalı olsa da, NumPy'nin arange() fonksiyonu ve liste üreteçleri gibi değerlendirilmeye değer alternatifler vardır.

NumPy arange() fonksiyonunu kullanma

arange() fonksiyonu, verilen bir aralık içinde değerler üretir. linspace()'ten farklı olarak, burada değerlerin sayısı yerine değerler arasındaki aralık belirtilir.

# Using arange to generate values from 0 to 10, spaced by 2
arange_example = np.arange(0, 10, 2)
arange_example

# Returns array([0, 2, 4, 6, 8])

# Using linspace() to generate values from 0 to 10, with interval set to 2
linspace_example = np.linspace(0, 10, 2)
linspace_example

# Returns array([0.,10.0])

Liste üreteçlerini kullanma

Liste üreteçleri, listeler üretmek için daha Pythonic bir yol sağlar; ancak NumPy linspace() kadar vektörleştirme avantajı ve esneklik sunmazlar.

list_comp = [x for x in range(10)]
print(list_comp)

# Outputs [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Son Düşünceler

NumPy'nin linspace() fonksiyonu, sayısal diziler üretirken hassasiyet ve esneklik sunan, veri bilimi araç setinin temel bir bileşenidir. NumPy becerilerinizi güçlendirmek istiyorsanız, NumPy Dizileri üzerine bu eğitime, bu NumPy Hızlı Başvuru Kağıdına göz atın veya NumPy’ye Giriş kursumuza kaydolmayı düşünün.

Adel Nehme

Yazar

Adel Nehme

Adel, Veri Bilimi eğitmeni, konuşmacı ve DataCamp’te Medya Başkan Yardımcısıdır. Adel, veri analizi, makine öğrenimi ve veri mühendisliği üzerine çeşitli kurslar ve canlı eğitimler yayınlamıştır. Kuruluşlar genelinde veri becerilerini ve veri okuryazarlığını yaygınlaştırmaya ve teknolojinin toplumla kesişimine tutkuyla bağlıdır. Veri Bilimi ve İş Analitiği alanında yüksek lisans derecesine sahiptir. Boş zamanlarında onu kedisi Louis ile vakit geçirirken bulabilirsiniz.

Konular

İlgili