NumPy array, Python’daki sayı veya benzer türdeki verileri tek boyutlu ya da çok boyutlu, düzenli bir yapı içinde tutan
NumPy kurulu değilse Python ortamında aşağıdaki komutu çalıştırın:
Ardından Python dosyanızda NumPy’yi genellikle
Bu örnekte beklenen çıktı, NumPy sürümü ve işletim sistemine göre veri türünün gösterimi değişebilse de, anlam olarak aşağıdaki gibidir:
Satır ve sütunlardan oluşan bir dizi için iç içe listeler kullanabilirsiniz. Her iç listenin aynı sayıda elemana sahip olması gerekir; aksi durumda düzenli bir matris yapısı elde edemezsiniz.
Beklenen sonuç şöyledir:
Her durumda önce bir liste hazırlamak gerekmez. Başlangıç değeri belirli olan diziler için NumPy’nin hazır oluşturma işlevleri daha uygundur. Seçim yaparken dizinin başlangıç değerini ve elemanların nasıl üretileceğini dikkate alın.
Örneğin 0’dan 8’e kadar çift sayıları oluşturmak için şu kod yeterlidir:
Çıktı
NumPy, dizinin veri türünü çoğunlukla verilen değerlerden kendisi çıkarır. Gerekiyorsa
Bu örnekte değerler ondalıklı biçimde tutulur ve
Bir NumPy array, verileri düzenli ve aynı veri türüne uygun biçimde tutar; fakat tek başına verinin doğru, eksiksiz veya anlamlı olduğunu doğrulamaz. Bu nedenle array oluşturduktan sonra özellikle
ndarray nesnesidir. Oluşturmak için önce NumPy’yi içe aktarın, ardından np.array() içine bir liste veya iç içe listeler verin. Böylece dizinin elemanlarına indeksle erişebilir, matematiksel işlemleri bütün diziye uygulayabilir ve shape, ndim ile dtype özellikleriyle yapısını kontrol edebilirsiniz.NumPy array oluşturmak için ön koşul
NumPy kurulu değilse Python ortamında aşağıdaki komutu çalıştırın:
Kod:
python -m pip install numpy
Ardından Python dosyanızda NumPy’yi genellikle
np kısa adıyla içe aktarın. Aşağıdaki örnekte kullanılan np.array() işlevi, mevcut bir Python listesinden NumPy dizisi üretir.Liste kullanarak array oluşturma
- NumPy’yi içe aktarın. Python dosyanızın başına
import numpy as npsatırını ekleyin. - Veriyi liste olarak hazırlayın. Örneğin
sayilar = [10, 20, 30, 40]ifadesi dört elemanlı bir Python listesidir. - Listeyi NumPy array’e dönüştürün.
dizi = np.array(sayilar)satırı, listedeki değerleri NumPy dizisi olarak oluşturur. - Sonucu ve yapıyı kontrol edin.
print(dizi),print(dizi.shape),print(dizi.ndim)veprint(dizi.dtype)komutları sırasıyla değerleri, boyut bilgisini, eksen sayısını ve veri türünü gösterir.
Python:
import numpy as np
sayilar = [10, 20, 30, 40]
dizi = np.array(sayilar)
print(dizi)
print(dizi.shape)
print(dizi.ndim)
print(dizi.dtype)
Bu örnekte beklenen çıktı, NumPy sürümü ve işletim sistemine göre veri türünün gösterimi değişebilse de, anlam olarak aşağıdaki gibidir:
Kod:
[10 20 30 40]
(4,)
1
int64
(4,), dizinin tek boyutlu olduğunu ve dört eleman içerdiğini belirtir. ndim değerinin 1 olması da bunu doğrular. Bu çıktı, sayıların dört ayrı değişkende değil, aynı dizi ekseni üzerinde tutulduğunu gösterir.İç içe listelerle iki boyutlu array oluşturma
Satır ve sütunlardan oluşan bir dizi için iç içe listeler kullanabilirsiniz. Her iç listenin aynı sayıda elemana sahip olması gerekir; aksi durumda düzenli bir matris yapısı elde edemezsiniz.
Python:
import numpy as np
matris = np.array([
[1, 2, 3],
[4, 5, 6]
])
print(matris)
print(matris.shape)
print(matris[1, 2])
Beklenen sonuç şöyledir:
Kod:
[[1 2 3]
[4 5 6]]
(2, 3)
6
shape değerindeki (2, 3), iki satır ve üç sütun bulunduğunu gösterir. matris[1, 2] ifadesi ikinci satırın, üçüncü sütunun değerini seçer. NumPy indeksleri sıfırdan başlattığı için 1 ikinci satırı, 2 ise üçüncü sütunu temsil eder.Hazır değerlerle array oluşturma seçenekleri
Her durumda önce bir liste hazırlamak gerekmez. Başlangıç değeri belirli olan diziler için NumPy’nin hazır oluşturma işlevleri daha uygundur. Seçim yaparken dizinin başlangıç değerini ve elemanların nasıl üretileceğini dikkate alın.
| İşlev | Ne oluşturur? | Örnek |
|---|---|---|
np.zeros((2, 3)) | Tamamı sıfır olan 2 × 3 dizi | Başlangıç matrisi |
np.ones(4) | Dört adet 1 içeren tek boyutlu dizi | Başlangıç katsayıları |
np.arange(0, 10, 2) | 0’dan başlayıp 2’şer artan değerler | [0 2 4 6 8] |
np.linspace(0, 1, 5) | 0 ile 1 arasında eşit aralıklı 5 değer | Ölçüm veya örnekleme noktaları |
np.full((2, 2), 7) | Her elemanı 7 olan 2 × 2 dizi | Sabit başlangıç değeri |
Python:
import numpy as np
cift_sayilar = np.arange(0, 10, 2)
print(cift_sayilar)
Çıktı
[0 2 4 6 8] olur. Burada bitiş değeri olan 10 diziye dahil edilmez. Ondalıklı değerleri eşit aralıklarla üretmek istiyorsanız linspace kullanın; çünkü arange ile kayan noktalı adımlarda beklenmeyen yuvarlama farkları oluşabilir.Veri türünü ve boyutu belirleme
NumPy, dizinin veri türünü çoğunlukla verilen değerlerden kendisi çıkarır. Gerekiyorsa
dtype ile açıkça belirtebilirsiniz:
Python:
import numpy as np
veriler = np.array([1, 2, 3], dtype=np.float64)
print(veriler)
print(veriler.dtype)
Bu örnekte değerler ondalıklı biçimde tutulur ve
dtype çıktısı float64 olur. Ancak dtype belirlemek, metin içeren veya hatalı verileri otomatik olarak anlamlı sayılara dönüştürmez; uygun olmayan dönüşümlerde hata alabilirsiniz.Bir NumPy array, verileri düzenli ve aynı veri türüne uygun biçimde tutar; fakat tek başına verinin doğru, eksiksiz veya anlamlı olduğunu doğrulamaz. Bu nedenle array oluşturduktan sonra özellikle
shape, dtype ve örnek bir elemanın değerini kontrol edin. Boyutlar beklediğiniz gibi değilse önce kullandığınız listenin iç içe yapısını ve her satırdaki eleman sayısını düzeltin.