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 3 : 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
Kurulum
Sait Ali UYMAZ
Python indirmek için;
[Link]
Anaconda (Birçok kütüphane ve IDE barındıran tümleşik Python dağıtımı)
[Link]
Virtual Environment (Farklı projelerde farklı kütüphane çakışmalarını önlemek)
conda create -n lectures python=3.7
# To activate this environment, use
$ conda activate lectures pip & conda
# To deactivate an active environment, use package manager for
$ conda deactivate (installation, upgrade and uninstallation)
Whitespace formatting
Sait Ali UYMAZ
Python kod bloklarını ayırmak için girinti (indentation) kullanır.
Python Tab ve Space farklı girintiler olarak değerlendirir. Bu yüzden herzaman
Space kullanın!
Modules
Sait Ali UYMAZ
Python’ın belirli özellikleri default olarak yüklenmez. Bu özellikleri kullanmak için
onları içeren modüller import edilmelidir.
re : Regular expressions module
matplotlib : A library for creating
visualizations in Python
Bir modülün belirli değerine ihtiyaç
varsa, bunlar import edilebilir ve
kullanılabilir.
Functions
Sait Ali UYMAZ
Python’da fonksiyon tanımlamak
için def kullanılır.
[2] Açıklama satırları
[12] İsimsiz fonksiyon kullanımı
[14] Default değer kullanımı
Strings
Sait Ali UYMAZ
Strings tanımlama, kullanımı ve bazı temel fonksiyonlar
* multiline strings using three
double quotes
* raw strings : r“”
* f-string: f “{} {} …”
Strings
Sait Ali UYMAZ
String elemanlarına ulaşma Örnek: Bir giriş dizisinin ilk, orta ve son karakterinden oluşan yeni bir dizi
oluşturan bir program yazın.
Lists
Sait Ali UYMAZ
• Python’da en temel veri yapısıdır. (array)
• Index 0 (sıfır) dan başlar. Index olarak “–”
(eksi) kullanmak son elemandan başlamak
anlamına gelir.
• [7:13] Listeye get ve set işlemleri için []
kullanılır.
• [14:20] The slice i:j means all elements from i
(inclusive) to j (not inclusive).
• [21:] adım (stride) belirtmek için 3. parametre
kullanılabilir.
Lists & Tuples
Sait Ali UYMAZ
• [24:26] in : check for list membership.
• in : Listenin elemanlarını birer birer
inceler.
• [28] .extend : add items from another
collection
• [30] .append : one item at a time
• .insert(index,değer)
• Tuple : Değiştirilemeyen listeler
• () Parantez kullanılır.
Enumerate&Zip&Map&Filter
Sait Ali UYMAZ
• enumerate : nesneleri
numaralandırmak için kullanılır.
• zip :iki listeyi birbiri indisleri
üzerinde birleştirir.
• map : herhangi bir fonksiyonu,
belli verilere, bir bir uygular.
• filter : filtreleme yapan
fonksiyondur.
Dictionaries
Sait Ali UYMAZ
• dictionary : değerleri (values) anahtarlar
(keys) ile ilişkilendiren veri yapısı
• .get: anahtara ait değeri döndüren method
(KeyError oluşturmaz)
• Anahtar/değer ataması için köşeli
parantez kullanılır.
Yapılandırılmış verileri temsil için dictionary kullanılabilir.
defaultdict & counters
Sait Ali UYMAZ
Bir dokümandaki kelimeleri saymak
• [1:5] Yöntem 1 – dictionary
(keys:words | values:counts) oluştur
ve .get kullanılır
• [6:15] Yöntem 2 – defaultdict : Eğer
bir key yoksa ekler ve değerini sıfır
olarak atar. Her yeni kelime için
kontrol etmeye gerek kalmaz.
• [16:21] Yöntem 3 – Counter : Bu
problem için en basit yoldur.
Sets * Kullanımı dictionary ve list kadar yaygın değildir.
Sait Ali UYMAZ
• [1] Bir set tanımlamak için { } küme
parantezi kullanılır.
• [2] Set() – empty set
• Set kullanmak için iki temel sebep var
• Sebep – 1
• [8:12] in işlemi set lerde list lere göre
çok hızlı )
• Sebep – 2
• [13:18] Bir dökümandaki farklı
öğeleri bulmak için
.remove() veya .discard() : Eleman silme (discard eleman bulamaz ise hata üretmez)
Sets Functions
Sait Ali UYMAZ
• [Link](set2) : Küme1 in küme2 den farkı (set1 – set2)
• set1.symmetric_difference(set2) : iki kümenin birbirinden farkı
• [Link](set2) : iki kümenin kesişimi (set1 & set2)
• [Link](set2) : iki kümenin birleşimi
• [Link](set2) : iki kümenin kesişim kontrolü (True: Kesişim kümesiBoş)
• [Link](set2) : set1 kümesi set2 nin alt kümesi mi
• [Link](set2) : set1 kümesi set2 yi kapsar mı
*
* Farklı tipte veriler bulundurabilirler
Introduction to Data Science
Veri Bilimine Giriş
Department of Computer Engineering
Sait Ali UYMAZ
sauymaz@[Link]