🥴Karışık Notlar

Matrix İşlemleri

A, B, C gibi semboller matrix belirtir.

1e-7 == 0.0000001 # True (10 ^ -7)
1e+4 == 1000 # True (10^4)

A = (A < 5) # 5'ten küçük ise true
np.mean(A) # Ortalama A'nın değeri (true ya da false)

A = A[A > 5] # 5 ten büyük olanları alma

# Maskeleme (5'ten küçük olanlar sıfırlanır)
A = np.multiply(A, A < 5)

Jupyter Notları

  • ALT'a basılı tutarak sütun seçimi yapabilirsin

  • ALT GR'e basılı tutarak birden fazla imleç ekleyebilirsin

  • SHIFT'e basılı tutarak yön tuşları ile metin seçimi yapabilrisin

Temel Özellikleri

  • Matematiksel (vektör tabanlı) işlemler için kaçınılmazdır

  • Python için SIML (single instruction multiple ...) yapısını kullanır

  • Single thread değil multi thread çalışır. (multiprogramming)

  • Optimize edilmiştir ve for döngülerinden 300 kata kadar daha hızlıdır

Temel Fonksiyonlar

import numpy as np

np.sum(<V>, <V>) # Vektörel toplama
np.dot(<V>, <V>) # Vektörel çarpma
np.exp(<V>, <V>) # Vektörel e^
np.log(<V>, <V>) # Vektörel log
np.max(<V>, <V>) # Vektörel en yüksek değeri bulma
np.min(<V>, <V>) # Vektörel min değeri bulma
np.mean(<V>) # Vektörel ortalama alma
np.where(<koşul>, <true>, <false>) # Vektörel If-else

IF-Else Yapısı

One IF-ELIF

Approach #1 One approach:

keep_mask = X==50
out = np.where(X>50,0,1)
out[keep_mask] = 50

Approach #2 Alternatively, for in-situ edit:

replace_mask = X!=50
X[replace_mask] = np.where(X>50,0,1)[replace_mask]
# Or (X<=50).astype(int) in place of np.where(X>50,0,1)

Code-golf? If you actually want to play code-golf/one-liner:

(X<=50)+(X==50)*49

Multiple IF-ELIFs

Approach #1:

For a bit more generic case involving more if-elif parts, we could make use of np.searchsorted -

out_X = np.where(X<=40,0, np.searchsorted([40,50,60,70,80,90], X)+3)

Kaynak

Harici Kaynaklar

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk