0Pricing
Pandas & NumPy Academy · Ders

Dizi Öznitelikleri ve İnceleme

ndim, shape, size ve dtype özniteliklerini inceleyin ve reshape() ile bir dizinin şeklini nasıl değiştireceğinizi öğrenin.

Dizi Öznitelikleri ve İnceleme, CoddyKit'te ücretsiz bir Pandas & NumPy Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Pandas & NumPy Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.

Dizi Öznitelikleri Neden Önemlidir

Bir dizi üzerinde çalışmaya başlamadan önce shape, boyutlarını ve dtype değerini bilmek istersiniz. NumPy bunları hafif öznitelikler aracılığıyla anında sunar.

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
print('ndim:', a.ndim)    # 2
print('shape:', a.shape)  # (2, 3)
print('size:', a.size)    # 6
print('dtype:', a.dtype)  # int64

ndim: Boyut Sayısı

ndim, bir dizinin kaç boyutu olduğunu söyler: düz bir liste 1, listelerden oluşan bir liste 2 boyutludur; makine öğrenimi tensörleri ise genellikle 3 veya 4 boyutlu olur.

import numpy as np

v = np.array([1, 2, 3])
print(v.ndim)   # 1

m = np.zeros((4, 5))
print(m.ndim)   # 2

t = np.ones((2, 3, 4))
print(t.ndim)   # 3

shape: Boyut Demeti

shape, her boyut için bir boyut değeri içeren bir demettir. 2 boyutlu bir dizi için bu değer (satırlar, sütunlar) biçimindedir ve esnek kod yazmak için bu demeti açabilirsiniz.

import numpy as np

a = np.arange(24).reshape(2, 3, 4)
print(a.shape)       # (2, 3, 4)

n_rows, n_cols = np.zeros((5, 7)).shape
print(n_rows, n_cols)  # 5 7

size: Toplam Öğe Sayısı

size, toplam öğe sayısını verir; yani shape içindeki tüm değerlerin çarpımını. reshape işleminin hiçbir şeyi kaybetmediğini kontrol etmek için kullanışlıdır.

import numpy as np

a = np.ones((3, 4, 5))
print(a.size)          # 60  (3*4*5)
print(np.prod(a.shape))# 60

# Memory estimate in bytes
print(a.size * a.itemsize, 'bytes')  # 480 bytes

dtype: Öğe Veri Türü

dtype, her öğenin türünü açıklar; itemsize ise öğenin bayt cinsinden boyutunu belirtir. float64 yerine float32 kullanmak belleği yarıya indirir ve çoğu zaman daha hızlı çalışır.

import numpy as np

a = np.array([1.5, 2.5, 3.5])
print(a.dtype)      # float64
print(a.itemsize)   # 8 bytes

b = a.astype(np.float32)
print(b.dtype)      # float32
print(b.itemsize)   # 4 bytes

nbytes: Toplam Bellek Kullanımı

nbytes, dizinin bayt cinsinden toplam belleğidir; yalnızca size ile itemsize değerlerinin çarpımıdır. Gerçekten yer kazandığınızı doğrulamak için türü küçültmeden önce ve sonra kontrol edin.

import numpy as np

a = np.ones((1000, 1000), dtype=np.float64)
print(a.nbytes)  # 8000000 (8 MB)

b = a.astype(np.float32)
print(b.nbytes)  # 4000000 (4 MB)

reshape(): Dizi Şeklini Değiştirme

reshape, öğe sayısı aynı kaldığı sürece verileri kopyalamadan diziye yeni bir şekil verir. -1 geçirirseniz NumPy bu boyutu sizin için hesaplar.

import numpy as np

a = np.arange(12)
print(a.shape)          # (12,)

b = a.reshape(3, 4)
print(b.shape)          # (3, 4)

c = a.reshape(2, -1)    # -1 inferred as 6
print(c.shape)          # (2, 6)

ravel() ve flatten() ile Düzleştirme

Hem ravel() hem de flatten() bir diziyi 1 boyuta indirger. Aralarındaki fark şudur: ravel genellikle belleği paylaşır (kopyalama yapmaz), flatten ise her zaman yeni bir kopya oluşturur.

import numpy as np

m = np.array([[1, 2, 3], [4, 5, 6]])

r = m.ravel()     # view (usually)
f = m.flatten()   # always a copy

print(r)  # [1 2 3 4 5 6]
print(f)  # [1 2 3 4 5 6]

Dizilerin Transpozunu Alma

.T özniteliği, satırlarla sütunların yer değiştirdiği transpose sonucunu verir. Bu işlem ücretsizdir (veri kopyalanmaz) ve matrisleri hizalamak için gereklidir.

import numpy as np

m = np.array([[1, 2, 3], [4, 5, 6]])  # shape (2, 3)
print(m.T.shape)   # (3, 2)
print(m.T)
# [[1 4]
#  [2 5]
#  [3 6]]

strides: Bellek Yerleşimi

strides, NumPy'nin her boyutta bellekte kaç bayt ilerlediğini gösterir. Transpoz alma işleminin ücretsiz olmasının nedeni budur: yalnızca stride değerlerinin yerini değiştirir.

import numpy as np

a = np.ones((3, 4), dtype=np.float64)
print(a.strides)    # (32, 8)  — 4 cols x 8 bytes, 1 col x 8 bytes

b = a.T
print(b.strides)    # (8, 32)  — strides swapped, no data copy

Görünümleri ve Kopyaları Denetleme

Bir view özgün diziyle belleği paylaşır; bu nedenle birini değiştirdiğinizde ikisi de değişir. Kopya ise bağımsızdır. Elinizdekinin hangisi olduğunu kontrol etmek için np.shares_memory(a, b) kullanın.

import numpy as np

a = np.arange(6)
b = a.reshape(2, 3)  # view
print(np.shares_memory(a, b))  # True

c = a.copy()
print(np.shares_memory(a, c))  # False

Hızlı Kontrol

Bu derste öğrendiğiniz NumPy dizi özniteliklerini anlayıp anlamadığınızı test edin.

Ders Özeti

Harika ilerliyorsunuz! ndim, shape ve size yapıyı, dtype veriyi açıklar; reshape bir görünüm döndürürken flatten her zaman kopyalar. Sırada dizi aritmetiği var.

Sıkça Sorulan Sorular

“Dizi Öznitelikleri ve İnceleme” dersi ücretsiz mi?

Evet — “Dizi Öznitelikleri ve İnceleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Pandas & NumPy Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.

“Dizi Öznitelikleri ve İnceleme” dersinde ne öğreneceğim?

ndim, shape, size ve dtype özniteliklerini inceleyin ve reshape() ile bir dizinin şeklini nasıl değiştireceğinizi öğrenin. Pandas & NumPy Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Pandas & NumPy Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Pandas & NumPy Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Dizi Öznitelikleri ve İnceleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Pandas & NumPy Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Pandas & NumPy Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. NumPy Dizileri Oluşturma
  2. Dizi Öznitelikleri ve İnceleme
  3. Öğe Bazında Aritmetik
  4. Dizi Dilimleme ve Dizinleme
← Pandas & NumPy Academy Sayfasına Dön