Geniş Ekran Test Deseni (16:9)
En Boy Oranı
Sınaması
(Yuvarlak görünmeli)
4x3
16x9
INTRODUCTION TO DATA SCIENCE
VERİ BİLİMİNE GİRİŞ
TURKEY Konya Technical University
Lecture 4 : Python’a giriş
Sait Ali UYMAZ
Veri bilimi projenizde büyük oranda “data
processing” ve/veya “machine learning”
içeriyorsa Python ideal programlama dilidir.
Python for Data Science
Control Flow
Sait Ali UYMAZ
• [1:7] Koşullu ifade if yapısı
• [8] Tek bir satırda if-then-else yapısı
oluşturulabilir.
• Python’da döngü yapıları
• [10:14] While loop
• [16:22] for ve in
• [16:22] continue ve break kullanımı
Sorting
Sait Ali UYMAZ
• [1:3] Python list yapısı sort()
metoduna sahiptir.
• sorted() fonksiyonu aslını bozma-
dan yeni sıralı liste oluşturur.
• Default – from smallest to largest
• Reverse=True – tersine çevirir.
Uygulama :
• key ile belirlenen bir fonksiyonun
1. key=lambda x: x[1] ???????????
• document = ["Ahmet", "Ali", "Veli", "Mehmet","Veli", "Ahmet", "Ali", sonucunu kıyaslayarak da
"Ziya", "Mehmet", "Ali", "Abdul"] sıralama yapılabilir.
1. Listeyi nesnelerin ilk iki harfine göre sıralayın?
2. Listeyi nesnelerin tekrar sayısına göre sıralayın?
List Comprehensions
Sait Ali UYMAZ
list comprehensions :
Sadece belirli elementleri seçerek
veya diğer bir list i dönüştürerek
list, dictionary veya set
oluşturmanın Pythonic yoludur.
• [8] eğer bir değere ihtiyaç
yoksa (_ ) kullanılır.
Randomness
Sait Ali UYMAZ
• random : rastgele sayılar üretmek
için kullanılan modül.
• .seed(x) : rastgele sayılar üretirken
kullanılacak başlangıç noktasını
belirler.
• .random() : seed kaynağını
kullanarak 0 ile 1 arasında bir float
sayı verir.
• Bu modül aslında yeniden üretilebilir sonuçlar almak
için [Link] ile ayarlayabileceğiniz bir parametreye
dayalı pseudorandom (yani deterministik) sayılar üretir
Randomness
Sait Ali UYMAZ
• randrange: Sınır(lar)ı verilen
integer list den bir sayı verir.
• shuffle: listenin elemanlarını
rastgele yeniden sıralar.
• choice: listeden bir elemanı
rastgele seçer
• sample: listeden rastgele
birbirinden farklı eleman grubu
seçer (without replacement)
• [28:30] Eğer bir elemanın
tekrar seçilebilmesi istenirse
RegEx: arama deseni oluşturan karakter
dizisidir ve bir dizenin bu deseni içerip
Regular Expressions içermediğini kontrol etmek için kullanılır.
Sait Ali UYMAZ
• re : Python RegEx modülüdür.
• [4] dizenin ‘a’ ile başlama
kontrolü
• [6] dizenin içinde ‘a’ var mı
kontrolü
• [8] ^:ile başlar | .* : sıfır veya
daha fazla karakter ile devam
eder | $:dogs ile biten ifade
• . Any character (except newline)
Regular Expressions
Func. Description Out
match() checks whether the beginning of a string matches a regular Match object / None
expression (first occurrence)
search() searches the string for a match (first occurrence) Match object / None
findall() returns a list containing all matches List / None
split() returns a list where the string has been split at each match List / List
sub() replaces the matches with the text Str / Str
Match object .span() returns a tuple containing the start-, and end positions of the match.
.string returns the string passed into the function
.group() returns the part of the string where there was a match
File Handling
Sait Ali UYMAZ
• open() – key function – takes two parameters; filename, and mode
• "r" – Read (default)
• "a" – Append /will create a file if the specified file does not exist/
• "w" – Write (overwrite the entire file) /will create a file if the specified file does not exist/
• "x" – Create /will create a file, returns an error if the file exist/
• .read() – returns the whole text
• .readline() or .readlines() – returns line(s) from text
• .write() – write to a file
• .close() – close the file
• [Link]() / [Link]() – delete file / entire folder
File Handling
Sait Ali UYMAZ
• [6] Dosyanın toplam karakter sayısı
• [9] Dosyanın ilk satırındaki kelimeleri ve sayılarını
içeren sözlük
• [14] Tüm dosyada geçen kelimeler ve sayılarını
içeren sözlük
• [15] Dosyada en çok geçen ilk 10 sözcüğü ve
sayılarını verir.
File Handling - Example
• Görev: Email adreslerinin bulunduğu dosyayı
kullanarak alan adlarına ait histogram
üretmeniz gerekmektedir.
• [7:12] – 1. yöntem
• [13:17] – 2. yöntem
Object Oriented
Sait Ali UYMAZ
• Self: Class’dan türetilen herhangi bir nesneyi
temsil eder.
• __init__() : nesne oluşturulduğunda ilk
olarak çağrılan yapıcı metottur.
Inheritance
Sait Ali UYMAZ
• Inheritance(Kalıtım): Üst sınıftaki değişken ve
metotların kendisinden türetilen sınıflarda
kullanılmasıdır.
• override : üst sınıftaki metodu ezme
Special Methods
Sait Ali UYMAZ
• Hazır metotları kendi oluşturduğumuz
sınıflara tanımlayabiliriz.
Introduction to Data Science
Veri Bilimine Giriş
Department of Computer Engineering
Sait Ali UYMAZ
sauymaz@[Link]