Python’da numpy dizisi

Python işlevleri ve meth

Liste, sıralı bir öğe dizisini içeren bir veri türüdür. Listeler, tek bir değişkende birden çok ilişkili değeri saklamanıza izin verdiği için kullanışlı bir veri türüdür. Bir liste ile 10 çift ayakkabının ismini tek bir değişkende saklayabilirsiniz; bir mağazada yaptığınız satın almaların listesini tek bir değişkende saklayabilirsiniz.

Yerleşik liste veri türü zaten güçlü olsa da, daha gelişmiş kullanım durumları için onu eksik bulabilirsiniz. NumPy'nin dizi veri türü burada devreye girer. NumPy kitaplığı, kolaylıkla birden çok boyutlu diziler oluşturmak için kullanılabilir.

Bu kılavuzda, ne hakkında konuşacağız. NumPy dizileri, neden yararlı oldukları ve kodunuzda bunlarla nasıl çalışabileceğinizdir. Haydi başlayalım!




NumPy Dizisi nedir?

NumPy dizisi, NumPy Python kitaplığında kullanılan dizi nesnesidir. Numerical Python'un kısaltması olan NumPy, genellikle bilimsel ve matematiksel hesaplama için kullanılan bir pakettir. Buna, veri analizi ve ileri matematik konularında yardımcı olabilecek bir dizi araç eşlik eder. 

Vanilya Python'da (herhangi bir harici paket içermeyen Python), diziler güçlüdür ancak işlenmesi yavaş olabilir. NumPy dizileri ise geleneksel Python dizilerinden çok daha hızlı olmayı amaçlar.

Bu performans artışı, NumPy dizilerinin değerleri bellekte tek bir sürekli yerde depolaması sayesinde elde edilir. Bu, Python'un bir listeye erişmesini ve bu listeyi değiştirmesini kolaylaştırır.




NumPy Dizisi Nasıl Bildirilir?

Başlamak için bir NumPy dizisi oluşturalım. Bu öğretici için, dizimizde dize değerlerini depolayacağız. Bu dize değerleri, yerel bir kafede sunulan tatlı ikramların bir listesidir. NumPy kitaplığını içe aktararak başlayacağız:

numpy'yi np olarak içe aktar

Bu kod satırı Python'dan numpy dosyasını içe aktarır ve kitaplığa np adını atar. Bu, dizimizle çalışmamız gerektiğinde yalnızca np'u çağırmamız gerektiği anlamına gelir.

Katılımcıların %81'i, aşağıdakilerden sonra teknik iş beklentileri konusunda kendilerini daha güvende hissettiklerini belirtti. bir bootcamp'a katılmak. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

Sırada, gidiyoruz. dizi arabirimini kullanarak dizimizi bildirmek için:

treats = np.array(["Blueberry Muffin", " Cinnamon Bun", "Jammy Shortbread"]) print(treats)

Dizimiz dört dize değeri içeriyor. Geleneksel bir Python dizisi gibi, listemizdeki tüm öğeleri köşeli parantez içine aldık. Bir NumPy dizisi bildirmek için np öğesinin parçası olan dizi yöntemini kullandık. Bu, yerleşik NumPy dizi türü olan bir ndarray nesnesi oluşturur.


Kodumuz, orijinal dizimizin bir NumPy dizisi olarak sıralanmış bir kopyasını döndürür:

['Blueberry Muffin''Cinnamon Bun''Jammy Shortbread']

İşte bu: artık birlikte çalışabileceğimiz bir dizimiz var.


NumPy Dizileri: Boyutlar

NumPy'deki boyutlardan bahsettiğimizde, filmlerde göreceğiniz gibi yeni dünyaları kastetmiyoruz. Boyut terimi kullanıldığında, iç içe dizilere atıfta bulunur. Bunlar, diziler içeren dizilerdir.

Bir dizi herhangi bir sayıda boyuta sahip olabilir. ile çalışmak 1-D, 2-D veya 3-D diziler olacaktır. “D” boyut anlamına gelir.

NumPy 1-D Array

İlk dizimizde örneğin, oluşturduğumuz 1 boyutlu dizi. Bu, öğeleri olarak 0-D dizileri (veya öğeleri) içeren bir dizidir. Çalışacağınız dizilerin çoğu 1 boyutlu olacaktır.

Kahvedeki ikramların fiyatlarını depolayan bir dizi oluşturalım:

numpy'yi np olarak içe aktar fiyatlar = np.array([1.95, 2.00, 2.05]) print(prices)

Kodumuz, değerlerimizi saklayarak tek boyutta bir dizi döndürür: [1.95 2.   2.05]. 

1 boyutlu bir diziden bir öğeye erişmek için Python listesinde kullandığınız sözdiziminin aynısını kullanabilirsiniz. Listemizdeki ikinci öğeyi alalım:

print(prices[1])

Kodumuz, dizin değeri 1 olan öğeyi döndürür, bu da: 2.

Python dizileri hakkında daha fazla bilgi edinmek için Python dizilerine yeni başlayanlar için kılavuz.

NumPy 2-D Array

Tüm diziler 1-D değildir. İki dizi içeren bir diziyi saklamak istediğimizi varsayalım. Bir dizi kahve dükkanında satılan tatlıları saklar; diğer dizi, dükkanda satılan kahvelerin bir listesini saklar. Bunlar birlikte bir menü öğeleri dizisinin parçasıdır.


Bu diziyi NumPy kullanarak oluşturalım:

import numpy as np menu_items = np.array([ ["Yabanmersini Muffin", "Tarçınlı Çörek", "Jammy Kurabiye"], ["Cappuccino", "Espresso", "Mocha"] ]) print(menu_items)

Sonuç dizisi:

[['Blueberry Muffin''Cinnamon Bun' 'Jammy Shortbread'] ['Cappuccino' 'Espresso' 'Mocha']]

Yeni oluşturduğumuz dizimizin iki boyutu vardır.Dizimizdeki ilk dizi, tatlı ikramların bir listesini içerir; ikinci dizi bir kahve listesi içerir. Bu dizilerin her ikisinin de iki diziyi birbirine bağlayan bir çift köşeli parantez içine alındığına dikkat edin.

2 boyutlu bir diziden öğeler almak biraz farklı çalışır NumPy'de şundan Python'da öyle. 2 boyutlu bir dizideki öğelere erişmek için diziden almak istediğiniz değerin dizin numaralarını ayırmanız gerekir.

Şu kodu göz önünde bulundurun:

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir eğitim kampıyla eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerim ile uyumlu hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

Kodumuz şunu döndürür: Jammy Shortbread. 0 dizin değerine sahip dizinin içinde saklanan dizin değeri 2 olan öğeyi aldık. Bu durumda, kafede satılan tatlı ikramları saklayan dizideki son öğeyi aldık.

NumPy 3-D Dizi

Başka bir boyut ekleyelim! NumPy dizileri 3 boyutlu diziler içerebilir. Bu, 2 boyutlu diziler içeren bir dizidir.

Aşağıdaki değerleri saklamak istediğimizi varsayalım:

  • Tatlı ve tatlı olmayan yiyecek teklifler (eşleştirilmiş, ancak ayrı dizilerde); ve
  • Kafeinli ve kafeinsiz içecekler (eşleştirilmiş, ayrı dizilerde);

Bu değerlerin tümü tek bir dizide saklanmalıdır. Bu dizinin boyutları:

  • 1-D: Tüm menü öğeleri
  • 2-D: Tatlı ve tatlı olmayan yiyecekler, kafeinli ve kafeinsiz içecekler
  • 3-D: Tatlı yiyecekler, tatlı olmayan yiyecekler, kafeinli, kafeinsiz içecekler

Bu diziyi NumPy kullanarak oluşturalım. Aşağıdaki kodu bir Python dosyasına yapıştırın:

numpy'yi np olarak içe aktar menu_items = np.array([ [ ["Böğürtlenli Muffin", "Tarçınlı Çörek", "Reçelli Kurabiye"], ["Füme Pastırmalı Rulo", "Tuna Eritilmiş Panini", "Peynirli ve Domatesli Tost"] ], [ ["Kapuçino", "Espresso", " Mocha"], ["Elma Suyu", "Su", "Portakal Suyu"] ] ]) print(menu_items)

Kodumuz şunu döndürür:

[[['Blueberry Muffin'Cinnamon Bun''Jammy Shortbread'] ['Füme Bacon Roll''Ton Balığı Eritilmiş Panini''Peynir ve Domates Toastie']] [['Cappuccino' 'Espresso' 'Mocha'] ['Elma Suyu' 'Su' 'Portakal Suyu']]]

3 boyutlu bir tablo oluşturduk. Daha önce tartıştığımız tüm bilgileri içeren dizi. Bu dizi, kafe tarafından sunulan tüm menü öğelerinin kapsamlı bir listesidir.


3 boyutlu dizideki öğelere erişmek, 2 boyutlu dizideki öğelere erişmek için kullandığınız sözdizimine benzer şekilde çalışır. Aradaki fark, üçüncü bir dizin belirtmeniz gerektiğidir. 3 boyutlu diziden bir öğe almak için numara. Şimdi dizimizden “Mocha” alalım:

print(menu_items[1, 0, 2])

Kodumuz şunu döndürür: Mocha.

1 erişmek istediğimiz 1. boyutun dizin numarasıdır (1 içeceklerimize karşılık gelir); 0, 2. boyutun dizin numarasıdır (0, kafeinli içeceklere karşılık gelir); 2, 3. boyutun dizin numarasıdır (2, Mocha'ya karşılık gelir).




Sayım Bir Dizideki Boyutlar

NumPy dizileri, yeni boyutlar eklemeye başladığınızda oldukça karmaşık görünmeye başlayabilir. üçten fazla boyutu olan lord diziler! Şansınıza, bir dizinin kaç boyutu olduğunu hesaplamak için kullanabileceğiniz kullanışlı bir kısayol var.

Aşağıdaki kodu bir Python dosyasına yapıştırın:

numpy as np menu_items = np.array([ ["Blueberry Muffin", "Cinnamon Bun", "Jammy Shortbread"], ["Cappuccino ", "Espresso", "Mocha"] ]) print(menu_items.ndim)

Kodumuzu çalıştıralım. “2” Geri döndü. Bu bize dizimizin iki boyut içerdiğini söyler ve yukarıdaki dizimizi analiz ederek bunun doğru olduğunu görebiliriz.




Sonuç

NumPy dizileri benzer değerleri saklamanın esnek bir yoludur. Geleneksel Python dizilerinden daha hızlı ve daha verimlidirler. NumPy dizilerini kullanarak birden çok boyutla kolaylıkla çalışabilirsiniz; vanilya Python'da bunu yapmak daha zordur.

Artık uzman bir programcı gibi NumPy dizilerini kullanmaya hazırsınız!





Python'da numpy dizisi: StackOverflow Questions

Tutorials