Pandas ile veri analizi ve log inceleme
Tablo biçimindeki veriyi okur, temizler ve özetlersin; güvenlik loglarından anlamlı rapor çıkarırsın.
Seviye 201 · 22 ders · 18 pratik lab
Dersler
İlk adımlar
- Pandas nedir ve kurulumu: Pandas’ın hangi işleri kolaylaştırdığını görür, sanal ortamda kurar ve ilk içe aktarmayı yaparsın.
- Series ve DataFrame oluşturmak: Sözlük ve listelerden tek sütunlu Series ve çok sütunlu DataFrame tablosu kurarsın.
- CSV ve JSON dosyalarını okumak: read_csv ve read_json ile dosyayı okur, ayraç, başlık ve tür ayarlarını yaparsın.
- Veriyi tanımak: head, info, describe: Yeni gelen bir tabloyu birkaç komutla tanır, eksik ve şüpheli sütunları fark edersin.
- Kısa görev: güvenlik duvarı kaydını yükle ve tanı
Seçmek ve süzmek
- Sütun ve satır seçmek: loc ve iloc: Etiket ve konuma göre satır ve sütun seçersin.
- Koşula göre süzmek: Birden çok koşulu birleştirip örneğin başarısız girişleri tablodan ayıklarsın.
- Sıralamak ve en yüksekleri bulmak: Tabloyu bir ya da birkaç sütuna göre sıralar, en çok olay üreten kaynakları listelersin.
- Kısa görev: başarısız girişleri süz
Temizlik
- Eksik değerleri bulmak ve doldurmak: Eksik değerleri sayar, silmenin ya da doldurmanın sonuca etkisini tartarsın.
- Yinelenen kayıtlar ve tür dönüşümü: Aynı olayın tekrar eden kayıtlarını temizler, metin olarak gelen sayı ve tarihleri doğru türe çevirirsin.
- Metin ve zaman damgası işlemleri: Log satırlarındaki metni ayrıştırır, zaman damgalarını saat ve gün olarak parçalarsın.
- Kısa görev: dağınık kullanıcı listesini temizle
Özetlemek ve birleştirmek
- Betimleyici istatistik: Ortalama, ortanca ve yüzdelik dilimlerle bir sütunun dağılımını anlatırsın.
- groupby ile gruplayıp özetlemek: Kullanıcıya, IP’ye ya da güne göre olayları gruplar, sayı ve ortalamaları çıkarırsın.
- Tabloları birleştirmek: merge ve concat: Olay tablosunu varlık envanteriyle eşleştirip her olayın hangi sunucuya ait olduğunu görürsün.
- Zaman serisi ve resample: Olayları saatlik ya da günlük kovalara ayırıp eğilimleri görürsün.
- Pivot tablo ve çapraz tablo
- Kısa görev: en çok trafik üreten adresler
Güvenlik ve gizlilik
- Kişisel veriyi maskelemek ve takma adlaştırmak: E-posta ve IP gibi kişisel verileri analiz öncesi maskeler ya da tuzlu özetle takma adlaştırırsın.
- Güvenli dışa aktarım: CSV formül enjeksiyonu: Tabloyu dışa aktarırken elektronik tablo formülü olarak çalışabilecek hücreleri etkisizleştirirsin.
- Bitirme görevi: kimlik doğrulama günlüğü raporu: Bir giriş günlüğünü temizler, gruplar ve şüpheli hesap hareketlerini özetleyen rapor üretirsin.
Pratik lablar
- Excel'den gelen CSV'yi yükle: Türkçe karakterli ve noktalı virgüllü bir müşteri dosyasını doğru kodlama ve ayırıcıyla okuyup info() çıktısını kaydet.
- İç içe JSON'u DataFrame'e çevir: json_normalize ile iç içe bulut denetim kayıtlarını düzleştirip kullanıcı, eylem ve bölge sütunlarını içeren bir tablo üret.
- Büyük dosyayı parça parça oku: Belleğe sığmayan bir proxy kaydını chunksize ile parça parça okuyup alan adı başına toplam baytı hesapla.
- loc ile belirli kayıtları seç: Bir güvenlik duvarı kaydında yalnızca engellenen ve 22. porta giden satırları loc ile seçip sayısını yaz.
- isin ve between ile süz: Belirli bir ülke listesinden ve iş saatleri dışında gelen VPN oturumlarını isin ve between ile süzüp CSV'ye kaydet.
- Zincirli atama uyarısını çöz: SettingWithCopyWarning veren ve sessizce yanlış sonuç üreten bir filtreleme kodunu düzeltip doğru güncellenen satır sayısını göster.
- Eksik değerleri say ve doldur: Bir personel listesinde sütun başına eksik değerleri sayıp departmanı boş olanları “Bilinmiyor” ile doldur.
- Metin sayıları gerçek sayıya çevir: “1.250,50 TL” biçimindeki tutarları sayıya çevirip dönüştürülemeyen satırları ayrı bir tabloya ayır.
- Tekrar eden kayıtları akıllıca sil: Aynı olayın farklı zaman damgasıyla iki kez yazıldığı bir uyarı tablosunda yalnızca gerçek tekrarları silip silinen sayıyı raporla.
- groupby ile kullanıcı özeti: Dosya paylaşım kaydında kullanıcı başına dosya sayısı ve toplam boyutu groupby ile çıkar.
- İki tabloyu birleştir, yetimleri bul: Hesap listesi ile İK listesini merge edip işten ayrılmış ama hesabı açık kalan kişileri bul.
- Çapraz tablo ile ilişki ara: Departman ve uyarı türü arasında crosstab kurup normalize ederek hangi departmanın hangi uyarıda belirgin biçimde öne çıktığını göster.
- Günlük olay sayısı: Zaman damgasını dizin yapıp resample ile günlük olay sayısını hesapla ve en yoğun günü yaz.
- Kayan pencere ile ani artış: Saatlik giriş sayılarında 24 saatlik kayan ortalamayı hesaplayıp ortalamanın üç katını aşan saatleri işaretle.
- Boşluklu zaman serisini tamamla: Bazı saatlerde hiç kayıt olmayan bir seride eksik saatleri sıfırla doldurup boşlukların ortalamayı nasıl yanılttığını göster.
- E-postaları maskele: Bir destek tablosundaki e-posta adreslerinin yalnızca ilk harfini ve alan adını bırakarak maskele.
- Tutarlı takma ad üret: Kullanıcı adlarını tuzlu karma ile takma ada çevirip aynı kullanıcının iki farklı tabloda aynı takma adı aldığını göster.
- Formül enjeksiyonuna karşı güvenli dışa aktarım: =, +, - ve @ ile başlayan hücreleri etkisizleştiren bir dışa aktarma işlevi yazıp kötü niyetli satırların zararsız kaldığını göster.
Kurs hakkında
Tablo biçimindeki veriyi okur, temizler ve özetlersin; güvenlik loglarından anlamlı rapor çıkarırsın.
Ne öğreneceksin
- İlk adımlar
- Seçmek ve süzmek
- Temizlik
- Özetlemek ve birleştirmek
- Güvenlik ve gizlilik
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.