Veri analizi dünyasında zaman, en değerli kaynağınız olabilir. Python, bu alanda devrim niteliğinde bir dil ve birçok güçlü kütüphane sunuyor. Ancak, çoğu zaman bu kütüphanelerin gücünü tam anlamıyla keşfedemeyebiliyoruz. Bu yazımda, Python'un veri analizi sürecinde size hız kazandıracak ve işinizi kolaylaştıracak 5 gizli özelliği keşfedeceğiz. Hazırsanız, veriye daha hızlı yaklaşmaya başlayalım!
1. Pandas’ın `query()` Fonksiyonu ile Veri Seçimi
Veri çerçevelerinizde (DataFrame) filtreleme yapmak, genellikle çok zaman alabilir. Ancak, Pandas’ın `query()` fonksiyonu ile bu işlemi çok daha verimli hale getirebilirsiniz. `query()`, veri çerçevesindeki verileri hızlı bir şekilde sorgulamanıza olanak tanır. Peki, bunu nasıl kullanabilirsiniz?
import pandas as pd
df = pd.DataFrame({
'Yaş': [23, 45, 34, 35],
'Şehir': ['İstanbul', 'Ankara', 'İzmir', 'Antalya'],
'Gelir': [5000, 7000, 6000, 8000]
})
# Yaşı 30’dan büyük olanları sorgulama
filtered_df = df.query('Yaş > 30')
print(filtered_df)
Bu özellik, özellikle büyük veri setlerinde zaman kazandırıcıdır.
2. NumPy’nin Vektörizasyon Yeteneği ile Hızlı Hesaplamalar
NumPy’nin en güçlü özelliklerinden biri de vektörizasyon. Döngüler yerine, NumPy dizileri ile yapılan işlemler daha hızlı ve verimli çalışır. Örneğin, büyük sayılarla işlem yaparken döngü kullanmak yerine, tüm işlemi bir vektör üzerinde gerçekleştirebilirsiniz.
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array([5, 4, 3, 2, 1])
# İki diziyi toplama
result = a + b
print(result)
Bu, size sadece hız kazandırmakla kalmaz, aynı zamanda kodunuzu çok daha temiz ve anlaşılır hale getirir.
3. Pandas’ın `apply()` Fonksiyonu ile Kapsamlı Veri İşlemleri
`apply()` fonksiyonu, her veri elemanına fonksiyon uygulamak için mükemmel bir araçtır. Kendi fonksiyonlarınızı yazabileceğiniz gibi, NumPy veya Python fonksiyonlarını da bu metodla hızla uygulayabilirsiniz. Veri çerçevelerinde çoklu dönüşümler yaparken işinizi oldukça kolaylaştırır.
df['Yeni Gelir'] = df['Gelir'].apply(lambda x: x * 1.1) # Geliri %10 artır
print(df)
Bu küçük ipucu, veri setinizin her alanına pratik bir şekilde uygulanabilir.
4. Faster Data Aggregation with `groupby()`
Veri setlerinde gruplama yapmak, genellikle uzun zaman alabilir. Ancak, Pandas’ın `groupby()` fonksiyonu, veri gruplamalarını hızlandırır. Büyük veri setlerinde, özellikle `sum()`, `mean()` gibi toplama fonksiyonlarıyla yapılan agregasyonlar önemli ölçüde hız kazanır.
grouped = df.groupby('Şehir')['Gelir'].sum()
print(grouped)
Veri setinizdeki farklı şehirler için gelir toplamlarını hızlıca görmek, analiz sürecinizi daha verimli hale getirir.
5. Veri Seti Boyutunu Azaltmanın Yolu: `categorical` Veri Türü
Çok büyük veri setlerinde, bazı veri türlerinin bellekteki yeri çok büyük olabilir. Özellikle kategorik veriler, bellek tüketiminde önemli yer kaplar. Pandas’ın `Categorical` veri türü, kategorik verilerin bellekte daha az yer kaplamasını sağlar.
df['Şehir'] = df['Şehir'].astype('category')
print(df['Şehir'].memory_usage())
Bu işlem, özellikle büyük veri setlerinde belleğinizi verimli kullanmanıza yardımcı olabilir.