Kayıt Ol

Giriş


Şifremi Kaybettim

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Giriş


Kayıt Ol

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

NumPy ? ( NumPy Eğitim Serisi Giriş )

NumPy ? ( NumPy Eğitim Serisi Giriş )

Merhaba Arkadaşlar,

Bugün sizlerle numpy tanıyacaz.

NumPy nedir?

NumPy, Python’da bilimsel hesaplamanın temel paketi. Çok boyutlu bir dizi nesnesi, çeşitli türetilmiş nesneler (maskelenmiş diziler ve matrisler gibi) ve dizilerdeki hızlı işlemler için matematiksel, mantıksal, şekil işleme, sıralama, seçme, g / Ç içeren bir dizi yordam sunan bir Python kitaplığıdır , Ayrık Fourier dönüşümü, temel doğrusal cebir, temel istatistik işlemler, rassal simülasyon ve çok daha fazlası.

NumPy paketinin özünde, ndarray nesnesi var. Bu, homojen veri türlerinin n-boyutlu dizilerini kapsar, birçok işlem performans için derlenmiş kodda gerçekleştirilir. NumPy dizileri ile standart Python dizileri arasında birkaç önemli farklılık vardır:

Python listelerinden farklı olarak (dinamik olarak büyüyebilen) NumPy dizileri oluşturulurken sabit bir boyuta sahiptir. Bir ndarray boyutunu değiştirdiğinizde yeni bir dizi oluşturulur ve orijinali silinir.
Bir NumPy dizideki öğelerin hepsinin aynı veri türüne sahip olması gerekir ve dolayısıyla bellekte aynı boyutta olacaktır. İstisna: biri, (Python, NumPy dahil) nesnelerin dizilerine sahip olabilir, böylece farklı boyutlu öğelerin dizilerine izin verilir.
NumPy dizileri, çok sayıda veri üzerinde gelişmiş matematiksel işlemleri ve diğer işlemleri kolaylaştırır. Tipik olarak, bu tür operasyonlar, Python’un dahili dizilerini kullanarak mümkün olana oranla daha verimli ve daha az kodla yürütülür.
Artan bol miktarda bilimsel ve matematiksel Python tabanlı paketler NumPy dizilerini kullanıyor; Bunlar tipik olarak Python dizisi girdisini desteklemekle birlikte, bu tür girdileri işlenmeden önce NumPy dizilerine dönüştürürler ve sık sık NumPy dizilerini çıkarırlar. Başka bir deyişle, günümüz bilimsel / matematiksel Python tabanlı yazılımların çoğunu (belki de en fazla olanı) etkin bir şekilde kullanmak için, sadece Python’un yerleşik sıralı türlerini nasıl kullanacağını bilmek yetersizdir; ayrıca bir NumPy dizisinin nasıl kullanılacağını bilmek gerekir.
Sıralama büyüklüğü ve hızıyla ilgili hususlar, bilimsel hesaplamada özellikle önemlidir. Basit bir örnek olarak, her elemanın 1-D sıralamasında, aynı uzunluğa sahip başka bir dizideki ilgili elemanla çarpılması durumunda düşünün. Veriler iki python listesinde (a ve b) depolanırsa, her öğenin üzerinde yinelenebiliriz:

Bu doğru cevabı üretir, ancak a ve b’nin her biri milyonlarca sayı içeriyorsa, Python’da döngüsüzlüğün verimsizliği için fiyat ödeyeceğiz. Aynı görev C’de daha hızlı bir şekilde yazabiliriz (açıklık için değişken bildirimleri ve başlatmaları ihmal ediyoruz, bellek ayırma vb.)

Bu, Python kodunu yorumlamak ve Python nesnelerini değiştirmekle ilgili tüm yükü azaltır, ancak Python’da kodlamadan elde edilen yararlar pahasına. Ayrıca, gereken kodlama işi verilerimizin boyutsallığı ile birlikte artmaktadır. Örneğin, 2 boyutlu bir dizi söz konusu olduğunda, C kodu (daha önce olduğu gibi kısaltılmıştır),

NumPy, bize her iki dünyanın en iyi özelliklerini sunar: bir öğe bazında işlemler, bir ndarray işlendiğinde “varsayılan mod” olur, ancak öğe bazlı işlem hızlı bir şekilde önceden derlenmiş C kodu tarafından yürütülür. NumPy’de

Daha önceki örneklerin C hızında yaptıklarını yapar, fakat Python tabanlı bir şeyden beklediğimiz kod basitliği ile yapar. Nitekim, NumPy deyimi daha basit! Bu son örnek, gücünün temelini oluşturan NumPy’nin özelliklerinden ikisini göstermektedir: vektörizasyon ve yayın.

Vektörizasyon, kodda açık bir döngü, dizin oluşturma vb. Bulunmadığını açıklar – bunlar, elbette, optimize edilmiş önceden derlenmiş C kodundaki “perde arkasında” gerçekleşiyor. Vektörize edilmiş kodun birçok avantajı vardır: Bunların arasında:

Vektörize edilmiş kod daha özlü ve okunması daha kolay
Daha az kod satırı genellikle daha az hata anlamına gelir
Kod, standart matematiksel notasyona daha yakından benzemektedir (matematiksel yapıları doğru bir şekilde kodlamak daha kolay hale gelmektedir)
Vektörizasyon “Pythonic” koduyla sonuçlanır. Vektörizasyon olmadan, kodlarımız verimsiz ve döngüleri okumak zor olacak şekilde çevrilebilirdi.
Yayıncılık, operasyonların örtülü element-by-element davranışını tanımlamak için kullanılan terimdir; Genelde NumPy’de yalnızca aritmetik işlemler değil, mantıksal, bit yönlü, işlevsel vb. Tüm işlemler, bu örtülü element-by-element modasıyla hareket ederler yani yayın yapar. Üstelik, yukarıdaki örnekte, a ve b, aynı dizinin çok boyutlu dizileri veya küçük bir dizinin “büyütülebilir” olması koşuluyla, bir skalarla bir dizi veya farklı şekillerde iki dizi olabilir. Elde edilen yayın net bir şekilde olacak şekilde. Yayıncılık ile ilgili ayrıntılı “kurallar” için bkz. Numpy.doc. Geniş döküm.

NumPy, bir kez daha ndarray ile başlayan, nesne yönelimli bir yaklaşımını tam olarak destekler. Örneğin, ndarray birçok yöntem ve özniteliğe sahip bir sınıftır. Yöntemlerinin birçoğu işlevleri en dışta bulunan NumPy ad alanına yansıtarak, programcıya, hangi paradigmasında hangisini tercih ettiğini ve / veya eldeki göreve en uygun olanı kodlamada tam bir özgürlük kazandırır.

İyi çalışmalar,


Hakkında Engin BozabaProfesyonel

Merhaba Arkadaşlar, Python.tc ailesine özel " Veri Bilimi için Python "Kursunu indirimli alabilirsiniz. https://www.udemy.com/veri-bilimi-icin-python/?couponCode=PYTHONTC25 Python derslerinin bulunduğu YouTube Kanalım .:: https://www.youtube.com/channel/UCjB26zskSGeXW46RdW9jyxg/featured

Beni Takip Et

Cevap yazın

Captcha Captcha güncellemek için resime tıkla