Python İle Veri Bilimi Başlangıç Rehberi 1 – Numpy Kütüphanesi

3 1.741

Python ile Veri Bilimi yazı dizimizde, Python kullanarak veri bilimine giriş yapacağız. Farklı anlatımlar ve örnekler içerecek olan yazı dizimiz sayesinde veri biliminde başlangıç seviyesinden uzmanlığa doğru adım adım ilerleyeceksiniz.

Veri bilimi, yapılandırılmış ve yapılandırılmamış verilerden bilgi ve öngörü elde etmek için bilimsel yöntemleri, süreçleri, algoritmaları ve sistemleri kullanan çok disiplinli bir alandır. Veri bilimi veri madenciliği ve büyük verilerle ilişkilidir.

Bu yazımızda Python veri bilimi çalışmalarında en çok kullanılan NumPy kütüphanesine giriş yapacağız.

Giriş

Bu yazımızda, NumPy Dizileri oluşturup çalışarak NumPy Dizileri oluşturmayı ve dizin oluşturmayı, Dilimlemeyi, işlemleri gerçekleştirmeyi, dizileri birleştirmeyi ve bölmeyi öğreneceksiniz.

NumPy nedir?

NumPy, Python ile veri bilimi için açık kaynaklı bir temel kütüphanedir. ‘Sayısal Python’ anlamına gelir. NumPy, 2005 yılında Travis Oliphant tarafından geliştirildi Numeric ve Numarray kütüphanelerinin devamı olduğunu söyleyebiliriz. Çok boyutlu diziler ve matrislerle çalışmak için hızlı ve güçlü bir kütüphanedir. NumPy kütüphanesi, dizilerle çalışmak için çok sayıda işlev sağladığı için en çok kullanılan kütüphanelerin başında gelir..

Genellikle Python Pandas ve Matplotlib ile birlikte Veri Biliminde kullanılır.

NumPy gerçekten hızlı bir kütüphane ve List veya Tuples veri tipleri ile karşılaştırıldığında kullanımı kolay ve eğlenceli olduğunu söyleyebiliriz. Bu veri tipleri arasındaki farkların ayrıntılarını ilerleyen kısımlarında bu yazımızda ele alınacağız. NumPy’de yeniyseniz, NumPy’nin tüm önemli işlevlerini kapsamlı bir şekilde ele alacağımız için makalenin tamamını okuduğunuzdan emin olun. Mümkün olduğunca özlü olmaya çalışacağız ve bu makale NumPy için ihtiyacınız olan her şey olacak.

Ön şartlar

Python 3 hakkında temel bir anlayışa sahip olmalısınız. Listeler ve dilimleme ile çalışma konusunda temel bir anlayışa sahip olmalısınız. Eğer python öğrenmek isterseniz sitemizdeki başlangıç seviyesindeki Python derslerine göz atabilirsiniz. 

Bu Yazı Kimlere Yönelik?

Yeni Başlayanlar: Bu eğitim yeni başlayanlar için yapılmıştır, böylece NumPy Dizilerini sıfırdan standart seviyeye kadar öğrenebilirler. Bu derste yalnızca kullanışlı ve gerekli işlevleri ele aldık. Gelişmiş herhangi bir şeyden kaçınmaya çalıştık, ancak anlamadığınız bir şeyle karşılaşırsanız, lütfen yorum bölümünde sormaktan çekinmeyin. Yeni başlıyorsanız kafa karıştırıcı bulabileceğiniz bazı bölümler var, ancak biraz pratik yaparak onu asabilirsiniz.

İPUCU : Python IDE’nizi açın ve konuyu okurken bu öğreticide bulunan kodlar arası örnekleri deneyin. Ayrıca, çıktıyı kopyalayıp yapıştırmak yerine daha iyi anlamak için kodu kendiniz yazın. Sana çok yardımcı olacaktır.

Temel NumPy Deneyimi Olan Kişiler: Bu eğitim, NumPy hakkında bilmeniz veya zaten bilmeniz gereken tüm şeylerin sağlam bir özeti olabilir. Her şeyi okumayın, sadece içerik tablosuna hızlı bir şekilde bakın ve ilginç bulabileceğiniz her şeyi okuyun.

Kurulum

Numpy, varsayılan python yüklemesiyle önceden yüklenmiş olarak gelmez. Şimdi python ile veri bilimi için, işlemi daha hızlı hale getiren bazı özel olarak tasarlanmış programlar var, böylece bunları da düşünmek isteyebilirsiniz.

IDE’yi (Entegre Geliştirme Ortamı) Seçme

  • Anakonda
  • Jupyter Not Defteri
  • Pycharm
  • Varsayılan IDLE

İnsanlar Anaconda’yı Jupyter Notebook ile kullanma eğilimindedir (Anaconda ile önceden yüklenmiş olarak gelir) çünkü varsayılan IDLE’den daha hızlıdır ve kullanımı kolaydır. Jupyter Notebook’un tek başına kullanılmasını önermem, bu yüzden Jupyter Notebook için gidiyorsanız Anaconda veya Miniconda’yı en az yükleyin. Ancak basitlik uğruna, IDLE üzerinden anlatımı yapacağız. Prosedür hepsinde benzer olacağı için herhangi bir ide kullanabilirsiniz.

İsterseniz Sublime Text veya Visual Studio Code kullanabilirsiniz. Sublime Text hızlı ve hafif bir metin editörüdür ve renk şemaları onu diğer IDE’lerden daha iyi bir seçim haline getirir. Sublime Text’in yanı sıra Visual Studio Code’u da öneririm. Visual Studio Code , orijinal Visual Studio’dan daha hafiftir ve ihtiyacınız olan tüm işlevlere sahiptir.

Tercih Edilen IDE’ye Numpy Yükleme

Numpy’yi kurmak için pip’i açın ve aşağıdaki komutu yazın. 

pip install numpy

Hepsi bu kadar. Bu, varsayılan python kurulumunuzda bulunan en son kararlı numpy sürümünü kuracaktır.

Numpy, Anaconda ile önceden kurulmuş olarak gelir.

Ancak sanal bir ortamda ( virtual environment) çalışmayı planlıyorsanız, o ortam için ayrı ayrı NumPy’yi kurmanız gerekir. Sanal bir ortama kurulum, yeni bir python kurulumuna kurulum ile aynıdır. Pip kullanmak zorundasınız.

Numpy Dizilerle Çalışma

Diziler , verilerin tablo biçiminde, yani satırlar ve sütunlar biçiminde düzenlenmesidir.

Sözdizimi (Yeni Başlayanlar İçin)

Önerilen işaret kuralına göre, numpy paketi şu şekilde içe aktarılır:

import numpy as np

NumPy’nin kullanıldığı hemen hemen her yerde göreceğiniz temel işaret kuralı budur.

Şimdi numpy paketinin en yaygın işlevi array() fonksiyonuna bakalım. array() fonksiyonu bir dizi parametreyi girdi olarak alır.

np.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

İlk başta tüm bu parametreler nedeniyle bunaltıcı görünebilir, ancak dizilerle çalışmak için hepsinin gerekli olmadığı bir şey söyleyeyim. Aslında, object parametresi dışında, her şey isteğe bağlıdır. Şimdi her biri hakkında kısaca konuşacağız:

  • object : Bir diziye geçirmek istediğiniz bölümdür.
  • dtype: Sonuçtaki dizinin veri türü.
  • copy: Varsayılan olarak doğrudur. Verilen nesnenin bir dizi kopyasını döndürür.
  • order: C (satır-öncelikli) veya F (sütun-öncelikli) veya A (herhangi bir) (varsayılan). 
  • subok: Temel dizinin alt sınıfını yapmak için kullanılır. Varsayılan olarak kapalıdır, bu nedenle çıkış dizisi temel dizidir.
  • ndmin: Son dizinin minimum boyutlarını belirtir

Şimdi, örneğin, dizileri kullanmak istiyorsanız,

>>>import numpy as np
>>>np.array([1,2,3])
array([1,2,3])

Çıktı

array([1,2,3])

Bu örnekte, array fonksiyonuna bir liste nesne olarak geçtik ve kopyalama işlevi varsayılan olarak True olarak ayarlandığından çıktı bir dizi olacaktır .

Bir diziye iç içe bir list, tuple veya dictionary veri tiplerini de iletebilirsiniz

Ayrıca, numpy kütüphanesinin yalnızca tek bir fonksiyonunu içe aktarmak istiyorsanız, bunu şu şekilde yapabilirsiniz:

>>>from numpy import array
>>>array([1,2,3])

Bu şekilde, paketin tamamını değil, yalnızca belirli bir işlevi içe aktarırsınız.
Bu genellikle önlenir, çünkü hangi paket veya modülden içe aktarıldığını bulamayabileceğiniz için kodu kafa karıştırıcı hale getirir. Ayrıca bu adla zaten bir işlev yaptıysanız, kodu daha da kafa karıştırıcı hale getirir.

NumPy Dizileri Oluşturma

Diziler oluşturmak için özel olarak kullanılan birçok işlev vardır. Bu makalede tüm önemli olanları tek tek ele alacağız. 

np.array ()

Bu, numpy’de dizi oluşturmak için standart işlevdir. Nesne olarak bir liste veya grup geçirirsiniz ve dizi hazırdır. Yukarıdaki sözdizimini daha önce yazdık.

np.arange ()

Python’un range() fonksiyonuna benzerdir. Belirli aralıktaki değerleri tek tek çalıştırır ve bir dizi oluşturur.

np.arange(start,end,stride)

start (başlangıç): başlangıç ​​numarası varsayılan olarak 0 olduğu için girilebilir.

end (bitiş) : bu, bir dizinin çalışacağı bitiş numarasıdır. Dizinin, 1 öğenin sonuna kadar çalışacağını unutmayın .

stride (adım): atlamak istediğiniz adım sayısıdır.

>>>np.arange(1, 10, 3)

Çıktı

array([1, 4, 7])

Yukarıdaki örnekte, başlangıç ​​konumu 1, bitiş 10 ve adım 3’tür. Bu nedenle, 9’a kadar çalışır ve her üçüncü elemanı yazdırır. Unutmayın sadece 9’a kadar çalışacaktır.

np.zeros ()

Bu, belirtilen sıradan hızlı bir sıfır dizisi oluşturmaya yardımcı olur.

>>>np.zeros((3,3))

Çıktı

array([[0., 0., 0.], 
       [0., 0., 0.],
       [0., 0., 0.]])

Bu, daha sonra numara depolama amacıyla kullanılacak diziyi oluşturmak istiyorsanız kullanılır.

Örneğin, bir oyun yapıyorsanız, bir karakterin başlangıç ​​özelliklerinin sıfır olmasını ve oyunda ilerledikçe artmasını istersiniz.

np.ones ()

np.zeros () ile aynıdır, sadece sıfırlar yerine bir bir değeri ile değiştirir.

>>>np.ones((3,3))

Çıktı

array([[1., 1., 1.], 
       [1., 1., 1.],
       [1., 1., 1.]])

np.empty ()

Bir dizi çöp içeriği oluşturur. Değerleri rastgele.

>>>np.empty((2,3))

Çıktı

array([[0.65670626, 0.52097334, 0.99831087],
       [0.07280136, 0.4416958 , 0.06185705]])

Bu sadece np.zeros ve np.ones’den daha hızlı olduğu için kullanılır. Bunun nedeni, tüm değerlerin rasgele olması ve belirtilmemesidir.

np.linspace ()

Linspace () fonksiyonu, eşit aralıklı sayılar dizisi döndürür. Örneğin

>>>np.linspace(3,9,3)

Çıktı

array([3., 6., 9.])

Yukarıdaki örnekte, sonuçta elde edilen dizi 3, 6 ve 9 içerir. Bunun nedeni, başlangıç ​​noktasını 3 ve bitiş noktasını 9 olarak yapmamız ve aralarında 3 eşit aralıklı sayı olmasını istememizdir. Bu basit matematik, 3 ile 9 arasında (her ikisi de dahil) 3 eşit aralıklı sayı nedir? Bunlar 3, 6 ve 9’dur.

Diziler oluşturmanın diğer işlevleri

Diziler oluşturmak için kullanılan tüm önemli işlevleri kapsadığımız halde, daha da fazlası var. Diziler oluşturmak için muhtemelen başka bir işleve ihtiyaç duymayacaksınız, ancak diğer işlevleri merak ediyorsanız, bu sayfaya resmi SciPy belgelerinde bakabilirsiniz.

NumPy Dizilerinin Nitelikleri

Numpy dizileri, onlarla çalışmayı kolaylaştırabilecek çeşitli özelliklere sahiptir. Verileri hızlı ve kolay bir şekilde düzenlemeye yardımcı olurlar. Dizinin yalnızca en önemli özelliklerini tartışacağız.

np.array (). şekil ve np.array (). reshape ()

Bu öznitelikler dizinin sırasını belirlemeye ve bu dizilerde değişikliklere izin vermeye yardımcı olur.

Örneğin,

>>>import numpy as np
>>>cg = np.array([[1,2,3],[1,2,3]])
>>>cg.shape

Çıktı

(2,3)

np.array.shape, dizinin sırasının şeklini tuple tipinde döndürür. İstersek 3,2 lik bu dizinin sırasını şu şekilde değiştirebilirsiniz:

>>>cg.shape = (3,2)
>>>cg

Çıktı

array([[1, 2],
       [3, 1],
       [2, 3]])

Dizi sırası değiştirilebilir olduğuna dikkat edin 2 satır ve 3 sütun için 3 satır ve 2 sütun.

Aynı şeyi yeniden şekillendirme işlevini kullanarak da yapabilirsiniz. Örneğin:

>>>cg = np.array([[1,2,3],[1,2,3]])
>>>cg.reshape(3,2)
>>>cg

Çıktı

array([[1, 2],
       [3, 1],
       [2, 3]])
Not: .shape ile parantez kullanmıyoruz .reshape () ile kullanıyoruz. Bunun nedeni, .shape dizinin bir özniteliği iken .reshape () dizinin bir fonksiyonudur.

Reshape () işlevinin başka bir örneği aşağıdadır

>>> np.arange(30).reshape(5,6)
Çıktı
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29]])

Ayrıca 3 boyutlu veya daha büyük bir dizi de oluşturabilirsiniz. İşte bir örnek:

>>>np.arange(30).reshape(5,2,3)
Çıktı
array([[[ 0,  1,  2],
        [ 3,  4,  5]],
       [[ 6,  7,  8],
        [ 9, 10, 11]],
       [[12, 13, 14],
        [15, 16, 17]],
       [[18, 19, 20],
        [21, 22, 23]],
       [[24, 25, 26],
        [27, 28, 29]]])

İpucu : Bir dizinin sırasının çarpımının öğe sayısına eşit olduğundan emin olun. Yoksa işe yaramaz. Örneğin, önceki örneğimizde 30 elementimiz var ve tanımladığımız sıra (5,2,3) yani 5 * 2 * 3 = 30 idi .

ndim

Bu, dizideki verilerin boyutunu gösterir. Örneğin

>>>a = np.array([[1,2,3],[1,2,3]])
>>>a.ndim
Çıktı
2
itemsize

Bu öznitelik, dizide saklanan verilerin veri türünün boyutunu belirtir.

>>>a = np.array([[1,2,3],[1,2,3]])
>>>a.itemsize

Çıktı

4
Dizinleme ve Dilimleme Dizileri

Dizi Dilimleme, özellikle liste veya dize dilimlemeden farklı değildir. Yani, dilimlemeyi biliyorsanız, kısa sürede anlayacaksınız.

Tek Boyutlu Diziler Diziler

Tek Boyutlu Dizilerle çalışmak çok basittir. Sadece dizin numarasını seçmelisiniz ve işiniz bitti.

cg = np.arange(1,6)
print(cg)

Bu 0 ile 4 arasında 5 elemanlık bir dizi oluşturur

[1 2 3 4 5]

Şimdi ondan bir öğe seçmek için cg [element-index] yazın. Örneğin, dizideki 3 öğesini seçmek istiyorsanız, yapmanız gereken tek şey

cg[2]

Çıktı 3 olacaktır. Bunun nedeni dizin 0’dan başlar.

Bu dizide 2’den başlayarak her öğeyi seçmek istediğinizi varsayalım. Sonra

print(cg[1:])

Çıktı

[2 3 4 5]

2 Boyutlu Diziler

a = np.array([[1,2,3,4,5],[6,7,8,9,10]])
İki boyutlu bir dizi oluşturduk. Nasıl çalıştığını daha iyi anlamak için aşağıdaki resme bakın

python veri bilimi numpy dersleri

Not: Rows , satırlar, columns sütünlar anlamına gelmektedir.

2 Boyutlu dizide dizin oluşturma, tek boyutlu dizilerden biraz farklıdır.

cg = np.array([[1,2,3,4,5],[6,7,8,9,10]])
cg[row,column]

Bu yüzden önce öğenin satırını ve ardından sütununu seçmelisiniz.

Diyelim ki diziden 8 tane seçmek istiyorsanız , ikinci sırada olduğu için önce 1 olan satırını seçin . Üçüncü sütun olduğundan 2 olan satır ve sütun

cg = np.arange(1,11).reshape(2,5)
print(cg[1,2])

python veri bilimi numpy

Şimdi ilk satırın tüm öğelerini yazdırmak istiyorsanız, bunu şu şekilde yapabilirsiniz:

a = np.arange(1,11).reshape(2,5)
print(a[0,:]
Çıktı
[1 2 3 4 5]
Eğer dizinde olduğu 1. satırı seçilmiş olmasıdır 0 ve boş: boş Eğer seçim olduğunu göstermektedir 0’a kadar sona bir adım ile 1. Bu varsayılan değerlerdir.

Bunlar dilimleme ve indekslemenin temelidir. Dilimlemede çok şey var ama hepsi pratik. Dilimlemeyi yalnızca onunla deneme yaptığınızda anlayacaksınız.

Dizilerde Birleştirme İşlemi (Joining)

İki veya daha fazla diziyi tek bir yeni diziye de ekleyebilirsiniz. İki diziyi ele alalım

a1 = np.array([1,2,3])
a2 = np.array([4,5,6])
NumPy’de dizileri hem yatay hem de dikey olarak birleştirmemizi sağlayan concatenate () adında bir işlev vardır . Gerçi durumu yerine getirmelidir.

3 parametre alır

np.concatenate((sequence),axis,out)
Sequence – Sıra: Birleştirmek istediğiniz dizilerin listesi veya grubu.

Axis – Eksen (İsteğe bağlı): Nasıl katılmak istersiniz? Satırlar veya sütunlar boyunca mı? Varsayılan olarak, eksen satır olan 0’dır. Sütunlarla birleştirmek için, ekseni = 1 olarak değiştirebilirsiniz.

Out- Çıktı (İsteğe bağlı) : Varsa, sonucun yerleştirileceği hedef. Şeklin doğru olması gerekir; hiçbir çıkış argümanı belirtilmemişse, bitiştirilen öğenin döndürülmesiyle eşleşir.

print(np.concatenate((a1,a2),axis=0))
Çıktı
[1 2 3 4 5 6]
Aşağıda ekseni görselleştirmenize yardımcı olabilecek bir görüntü var.

python veri bilimi numpy 3

Tek boyutlu dizileri, yalnızca bir şekilde birleştirebilirsiniz. 2 boyutlu dizileri ise, aynı sayıda satıra veya sütuna sahip olması şartıyla, hem satırlarla hem de sütunlarla birleştirebilirsiniz.

Eksen boyunca birleştirme axis = 0 veya vstack ()

Örneğin, 1 satırı olan bir diziyi 2 satırı olan bir diziyle birleştiremezsiniz.

a1 = np.arange(1,11).reshape(2,5)
a2 = np.arange(11,21).reshape(2,5)
np.concatenate((a1,a2))
Çıktı
[[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20]]
Bunu, vstack () işlevini kullanarak da gerçekleştirebilirsiniz .
np.vstack((a1,a2))
Eksen boyunca birleştirme axis = 1 veya hstack ()

Ayrıca, sütunlarla birlikte birleştirmek istiyorsanız, ekseni 1 olarak değiştirebilirsiniz. Her iki dizide de aynı sayıda satır olduğundan, sütunlar boyunca birleştirebilirsiniz

print(np.concatenate((a1,a2),axis=1))
Çıktı
[[ 1  2  3  4  5 11 12 13 14 15]
 [ 6  7  8  9 10 16 17 18 19 20]]
Bunu hstack () işlevini kullanarak da gerçekleştirebilirsiniz .
np.hstack((a1,a2))
Örnekte, yalnızca 2 dizi aldık ve bunları birleştirdik, ancak istediğiniz sayıda diziye katılabilirsiniz. Yeni başlayanlar olarak başlıyorsanız, şimdilik sizin için fazlasıyla yeterli olacaktır.

Dizileri Bölme (Splitting)

Ayrıca bir diziyi iki veya daha fazla diziye bölebilir ve farklı şekilde saklayabilirsiniz. Dizileri bölmek için de çeşitli işlevler vardır.

Bunlardan en yaygın olanı split () işlevidir.

split(array, indices_or_sections, axis=0)
Array: Bölmek istediğiniz dizi

Dizinler veya Bölümler: Diziyi bölmek istediğiniz dizin numaraları veya dizinizin bölünmesini istediğiniz bölüm sayısı. Endeks kullanmak gerekmedikçe bölümleri kullanmanızı tavsiye ederim.

Eksen: Hangi eksene bölmek istediğinizi (varsayılan olarak 0’dır).

Bir 1D dizisi durumunda, onu nasıl bölmek istediğinize dair bir seçeneğiniz yoktur. Yalnızca hangi öğeyi bölmek istediğinizi seçebilirsiniz. 1D dizisini ele alalım

a = np.arange(4)
Şimdi 4 elementten oluşan bir dizimiz var. Eğer ikiye bölmek istiyorsak
print(np.split(a,2))
Çıktı
[array([0, 1]), array([2, 3])]
Ancak dizide ne kadar öğeniz olduğundan emin değilseniz bu işlev gerçekten yararlı değildir. Çünkü elemanları yeni dizilere eşit olarak ayırır.

Örneğin, bu diziyi 3 parçaya bölmeye çalışırsanız bir hata verir. Bunu önlemek için array_split () adında başka bir fonksiyonumuz var . Split () öğesini array_split () ile değiştirdiğinizde düzgün çalışır.

b = np.array_split(a,3)
print(b)
Çıktı
[array([0, 1]), array([2]), array([3])]
Ayrıca her diziyi yeni bir değişkene de depolayabilirsiniz.
c = b[0]
d = b[1]
e = b[2]
print(c)
print(d)
print(e)
Çıktı
[0 1]
[2]
[3]
Split () yalnızca array_split () ile karşılaştırıldığında biraz daha hızlı olduğu için kullanılır, ancak zaman içinde çok fazla fark yaratmaz. Hata olasılığını azaltır gibi array_split () kullanmanızı tavsiye ederim .

Eksen boyunca bölme axis = 0 veya vsplit ()

İki boyutlu bir dizi düşünelim. Bu diziyi eksen 0 boyunca, yani satırlar boyunca böleriz.

a1 = np.arange(1,13).reshape(2,6)
b = np.array_split(a1,2)
Çıktı
[array([[1, 2, 3, 4, 5, 6]]), array([[ 7,  8,  9, 10, 11, 12]])]
Bunu vsplit () işlevini kullanarak da gerçekleştirebilirsiniz .
np.vsplit(a1,2)
Eksen boyunca bölme axis = 1 veya hsplit ()

Bunları sütunlarla birlikte bölmek istiyorsanız, ekseni 1 olarak değiştirebilirsiniz.

b = np.array_split(a1,2,axis=1)
print(b)
Çıktı
[array([[1, 2, 3],
       [7, 8, 9]]), array([[ 4,  5,  6],
       [10, 11, 12]])]
Bunu hsplit () işlevini kullanarak da gerçekleştirebilirsiniz .
np.hsplit(a1,2)
Yukarıdaki örnekte, yalnızca bir 2D diziyi böleriz, ancak daha yüksek boyutlu dizileri de bölebilirsiniz. Karmaşıklığı orta seviyeye çıkaracağı için bunu bu eğiticiye dahil etmeyeceğiz.

Karşılaştırma: Diziler, Listeler ve Tuples

1. Vektörel İşlemler: Diziler, Listeler ve Tuples arasındaki temel farklardan biri vektörel işlemlerdir. Yalnızca Diziler vektörel işlemlere izin verir, yani bir işlevi uyguladığınızda, dizinin kendisine değil dizinin her öğesine uygulanır.

Örneğin,

>>import numpy as np
>>cg = [1,2,3,4]
>>cg_array = np.array(cg)
>>cg_array += 2
>>cg_array
>>array([3, 4, 5, 6])
Aynı şeyi listeyle veya demetle denerseniz, bir geri izleme hatası atar, örneğin:
>>>cgt = (1,2,3,4)
>>>cgt += 1
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    cgt += 1
TypeError: can only concatenate tuple (not "int") to tuple
2. Veri Türü Beyanı: Liste, tuples ve sözlükler, vb. Belirtilirken dizilerin bildirilmesi gerekmez, yani dizileri kullanmak istiyorsanız, .array () sınıfını kullanarak bildirmeniz gerekir. listeler veya tuples ile bunu yapmak zorunda değilsiniz.

3. Değişebilirlik: Değişebilirlik, değiştirme yeteneği anlamına gelir. Dizilerdeki veriler değiştirilemez veya değiştirilemezken, tuples içindeki veriler değiştirilebilir.

4. Heterojen Veriler : Verileri depolamak için diziler, listeler ve tupller kullanılırken, diziler heterojen verileri depolayamaz

Dikkatlice gözlemlerseniz, dizide geçirdiğim listede farklı veri türlerinin her bir öğesi bulunur, ancak dizi olarak yazdırıldığında tüm verileri “dize” olarak dönüştürür . Bu listeler veya tuplesler için geçerli değildir.

Dizi Liste Kayıt düzeni
Vektörize İşlemler Evet Hayır Hayır
Değişebilirlik Evet Evet Hayır
Önceden Tanımlanmış Veri Türü Hayır Evet Evet
Heterojen Veriler Hayır Evet Evet
Dizilerin, Listelerin ve Grupların Özellikleri

Diziler ne zaman kullanılır ve ne zaman kullanılmaz?

Diziler ne zaman kullanılır:
  • Çok miktarda veri depolamanız gerekir.
  • Saklamak istediğiniz veriler aynı tiptedir.
  • Her eleman üzerinde işlem yapabilirsiniz.
Diziler ne zaman kullanılmaz:
  • Veri Türü farklı
  • Veriler çok küçük
  • Her öğe üzerinde işlem yapmanız gerekmez.

Lütfen yorum bölümünde sormaktan çekinmeyin. Her yoruma cevap vermeye çalışacağım. 

Kaynak Codinground
3 Yorumlar
  1. Suyash diyor

    Hey,
    I’m the original author of this article.
    I would love it if you can change the nofollow link to do follow link. 🙂
    And also, please next time ask if you can copy my whole article or not. 🙂

  2. Halil İbrahim K. diyor

    Hey Suyash. I change nofollow to do follow. Sory for this time. I will ask next. 🙂

  3. […] Her zamanki gibi, görüntü işleme için gerekli modülleri ekleyerek başlayacağız. Bunlar OpenCV ve Numpy modülleridir. […]

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bununla iyi olduğunuzu varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul etmek Mesajları Oku