Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Hangi çerezleri kullandığımız hakkında daha fazla şey öğrenmek için Gizlilik
Onayla
Türker UZUNTürker UZUN
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Reading: Python Blog: NumPy’de Az Bilinen Etkili Fonksiyonlar
Paylaş
Aa
Türker UZUNTürker UZUN
Aa
  • VERİ ANALİZİ
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Ara...
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Follow US
Türker UZUN > Blog > Veri Analizi > Python Veri Analizi > Python Blog: NumPy’de Az Bilinen Etkili Fonksiyonlar
Python Veri AnaliziVeri Analizi

Python Blog: NumPy’de Az Bilinen Etkili Fonksiyonlar

6 Min Read
Paylaş
6 Min Read

NumPy, Python’daki en popüler bilimsel hesaplama kütüphanelerinden biridir. Genellikle çok boyutlu diziler (arrays) ve matematiksel işlemlerle ilişkilendirilir, ancak bazı az bilinen fonksiyonlar da oldukça etkilidir ve belirli senaryolarda kullanışlıdır. İşte bu fonksiyonlardan bazıları:

Contents
np.linspace() ve np.logspace()np.meshgrid()np.vectorize()np.fft.fft()np.einsum()np.gradient()Numpy Nasıl Hızlandırılabilir ?

np.linspace() ve np.logspace()

np.linspace(start, stop, num) ve np.logspace(start, stop, num) fonksiyonları, sırasıyla belirli bir aralıktaki sayıları eşit aralıklarla veya logaritmik aralıklarla oluşturmanıza olanak tanır. Örneğin, bir şirketin geçmiş yıllardaki aylık satış verilerine dayanarak gelecek aylardaki satışları tahmin etmek istediğimizi düşünelim:

import numpy as np
import matplotlib.pyplot as plt

# Geçmiş aylık satış verileri (örnek veri)
past_sales = np.array([200, 220, 250, 300, 320, 350, 400, 420, 450, 500, 520, 550])

# Geçmiş ayları temsil eden zaman dilimleri (0'dan başlayarak)
past_months = np.arange(len(past_sales))

# Gelecek ayları temsil eden zaman dilimlerini oluşturmak için np.linspace kullanalım
future_months = np.linspace(start=len(past_sales), stop=len(past_sales) + 12, num=12, endpoint=True)

# Bir tahmin modeli oluşturmak için, geçmiş satış verilerini bir fonksiyonla modelleyelim
def sales_model(month, base_sales, growth_rate):
    return base_sales * (1 + growth_rate) ** month

# İdeal bir büyüme oranı seçelim (örnek veri)
growth_rate = 0.03

# Gelecek aylardaki tahmini satışları hesaplayalım
predicted_sales = sales_model(future_months, past_sales[-1], growth_rate)

# Geçmiş ve tahmini satışları bir araya getirerek bir grafik oluşturalım
plt.plot(past_months, past_sales, label='Geçmiş Satışlar', marker='o')
plt.plot(future_months, predicted_sales, label='Tahmini Satışlar', marker='o')
plt.title('Geçmiş ve Tahmini Aylık Satışlar')
plt.xlabel('Aylar')
plt.ylabel('Satış Miktarı')
plt.legend()
plt.show()

np.meshgrid()

np.meshgrid() fonksiyonu, iki 1D diziyi kullanarak 2D bir kılavuz oluşturmanıza yardımcı olur. Örneğin:

import numpy as np

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

X, Y = np.meshgrid(x, y)

np.vectorize()

np.vectorize() fonksiyonu, bir fonksiyonu vektörize eder, yani bu fonksiyonu bir dizi üzerinde çalıştırabilir hale getirir. Örneğin:

import numpy as np

def my_function(x):
    return x ** 2 + 1

vectorized_function = np.vectorize(my_function)

np.fft.fft()

np.fft.fft() fonksiyonu, Hızlı Fourier Dönüşümü (FFT) uygulayarak sinyal işlemede kullanılır. Örneğin:

import numpy as np

signal = np.array([1, 2, 3, 4])
fft_result = np.fft.fft(signal)

np.einsum()

np.einsum() fonksiyonu, Einstein toplama kurallarını kullanarak çoklu diziler üzerinde işlemler yapmanıza olanak tanır. Örneğin, bir şirketin satış ve maliyet verilerini içeren iki matrisi çarparak karını hesaplamak istediğimizi düşünelim. Bu işlem, her bir ürün ve ay için karı hesaplar. Bu matrisin her elemanı, ilgili ürünün belirli bir aydaki satış gelirinin, o aydaki maliyetine çarpılması ile hesaplanır.

import numpy as np

# Satışları temsil eden matris (örneğin, her satır bir ürünü, her sütun bir ayı temsil edebilir)
sales_matrix = np.array([[100, 150, 200], [120, 130, 180]])

# Maliyetleri temsil eden matris (aynı boyutta bir matris)
cost_matrix = np.array([[60, 70, 80], [40, 50, 60]])

# Matris çarpımını np.einsum kullanarak hesapla
profit_matrix = np.einsum('ij,ij->ij', sales_matrix, cost_matrix)

print("Profit Matrix:")
print(profit_matrix)

np.gradient()

Son olarak bu yazımızda kripto paraların günlük getirisini hesaplamak için np.gradient() fonksiyonunu kullanarak bir örnek oluşturalım. Bu örnekte, kripto para günlük kapanış fiyatları üzerinden getiri hesaplamasını gerçekleştireceğiz.

import numpy as np
import matplotlib.pyplot as plt

# Kripto para verisi örneği: Günlük kapanış fiyatları (örnek veri)
crypto_prices = np.array([50000, 52000, 48000, 55000, 60000, 58000, 62000, 65000, 63000, 67000])

# Zaman dilimini temsil eden bir dizi oluştur
days = np.arange(len(crypto_prices))

# Kapanış fiyatlarını gösteren bir grafik oluştur
plt.plot(days, crypto_prices, label='Kapanış Fiyatları', marker='o', color='blue')
plt.title('Kripto Para Günlük Kapanış Fiyatları')
plt.xlabel('Günler')
plt.ylabel('Fiyat (USD)')
plt.legend()
plt.show()

# Kripto para kapanış fiyatlarındaki getiriyi np.gradient() ile hesapla
crypto_returns = np.gradient(crypto_prices)

# Getirileri gösteren bir grafik oluştur
plt.plot(days, crypto_returns, label='Günlük Getiri', marker='o', color='orange')
plt.title('Kripto Para Günlük Getirileri')
plt.xlabel('Günler')
plt.ylabel('Getiri')
plt.legend()
plt.show()

Bu örnekte, crypto_prices dizisi, günlük kripto para kapanış fiyatlarını temsil eder. İlk grafikte bu kapanış fiyatlarını, ikinci grafikte ise kripto paranın günlük getirisini görebilirsiniz. Bu tür analizler, kripto para piyasasındaki fiyat hareketlerini anlamak ve gelecekteki performansı değerlendirmek için kullanılabilir.

Bu fonksiyonlar, NumPy’nin güçlü özelliklerinden sadece bazılarıdır ve belirli kullanım senaryolarında oldukça faydalıdır.

Numpy Nasıl Hızlandırılabilir ?

NumPy, genel amaçlı bir bilimsel hesaplama kütüphanesi olup, özellikle çok boyutlu dizilerle çalışmak için optimize edilmiştir. Ancak, bazı spesifik uygulamalarda NumPy’yi daha da hızlandırmak için özel olarak tasarlanmış bazı kütüphaneler ve araçlar vardır. İşte NumPy ile birlikte kullanılan ve performans artışı sağlayan bazı kütüphaneler:

  1. Numexpr: NumPy ifadelerini daha hızlı bir şekilde değerlendirmek için tasarlanmıştır. Büyük veri setleri üzerinde element-wise işlemleri hızlandırmak için kullanılır.
  2. Numba: Python fonksiyonlarını JIT (Just-In-Time) derlemesi ile C veya Fortran benzeri hızlı makine koduna dönüştürmek için kullanılır. Özellikle döngüler içeren işlemleri hızlandırmak için etkilidir.
  3. Cython: Python’u C diliyle birleştirerek hızlı C eklentileri oluşturmanızı sağlar. NumPy dizileri ile uyumlu ve performansı artırmak için kullanışlıdır.
  4. BLAS (Basic Linear Algebra Subprograms) ve LAPACK (Linear Algebra PACKage): Temel lineer cebir işlemlerini gerçekleştirmek için optimize edilmiş kütüphanelerdir. NumPy, bu kütüphaneleri altında kullanarak birçok lineer cebir operasyonunu hızlı bir şekilde gerçekleştirir.
  5. Scipy: Bilimsel ve teknik hesaplamalar için kullanılan bir kütüphanedir. NumPy’yi temel alarak, özel amaçlı algoritmalar, optimizasyon, entegrasyon, interpolasyon gibi birçok fonksiyonu içerir.
  6. MKL (Math Kernel Library): Intel tarafından geliştirilen bir kütüphanedir ve özellikle Intel işlemcileri üzerinde optimize edilmiştir. NumPy, MKL’yi kullanarak performansını artırabilir.
  7. TensorFlow ve PyTorch: Derin öğrenme uygulamalarında yaygın olarak kullanılan bu kütüphaneler, özellikle büyük ölçekli matris operasyonları gibi işlemleri GPU’lar üzerinde hızlandırır.

Bu kütüphaneler, NumPy’yi destekler ve belirli uygulamalarda daha fazla performans sağlar. Ancak, genel olarak NumPy, çoğu bilimsel ve teknik hesaplama uygulaması için yeterince hızlıdır ve geniş bir kullanıcı kitlesi tarafından tercih edilmektedir. Uygulamanın özel gereksinimlerine ve kullanılan donanıma bağlı olarak, belirli bir kütüphanenin avantajları değişebilir.

ETİKETLER: Numpy, Numpy Fonksiyonları, Numpy Hızlandırma, Python
Editor Ocak 23, 2024
Paylaş
Whatsapp Whatsapp LinkedIn Email Copy Link

Son Yazılar

  • LangChain Tool Tanıtımı (Kategorik)
  • Flowise Tool Node Tanıtımı
  • Flowise – Hazır Chatflow Akışları
  • Flowise – Hangi Node Ne Zaman Kullanılır?
  • Flowise Eğitimi – Node’ları Tanıyalım

Takip Et

Sponsor Linkler

İlginizi Çekebilir

BI AraçlarıVeri Analizi

Qlik Sense Measure Örnekleri

BI AraçlarıVeri Analizi

Qlik Sense İleri Seviye Fonksiyon Cheat Sheet & Kullanım Senaryoları

BI AraçlarıVeri Analizi

Qlik Sense – 100 Temel Fonksiyon

BI AraçlarıVeri Analizi

Qlik Sense Cheat Sheet (2025)

Türker UZUNTürker UZUN
Takip Et

Veri Analizi, ETL Süreçleri, Makine Öğrenimi, Doğal Dil İşleme Projeleri, Python Dersleri, Python Blog, Teknoloji Yazarı, AI Agents

Removed from reading list

Undo