Veri Analizi - Temel Düzeyde Python

Veri Analizi - Temel Düzeyde Python

denizhan-şahin-veri-analizi-python-2-temel-düzey-programlama

Günümüzde Python özellikle veri bilimi ve yapay zeka uygulamalarında kullanılan ve öğrenmesi çok kolay olan bir programlama dilidir.



Python Yazım Kuralı

Python'da satırlarda yer alan boşluklar ile girinti yapılmaktadır.

#doğru örnek
for i in range(10):
print(i)

Çıktı :
0 1 2 3 4 5 6 7 8 9

#doğru örnek
for i in range(10):
print(i)
print(i)

Çkıtı:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

#hatalı örnek
for i in range(10):
print(i)

File "<ipython-input-9-834cf6626a6c>", line 3 print(i) ^ IndentationError: expected an indented block

#hatalı örnek
for i in range(10):
print(i)
print(i)
File "<ipython-input-11-59391bbdefe8>", line 4 print(i) ^ IndentationError: unexpected indent

Python'da Yorum Satırları

""" ve # ile yapılmaktadır.

#merhaba bu bir yorum satırıdır.
print("Ben Denizhan!") #nerhaba bu bir yorum satırıdır.

#merhaba aşağıdaki kod yorum satırı içindedir.
#print("Merhaba nasılsınız?")

Çıktı:
Ben Denizhan!

""" Merhaba """

"""print("Merhaba")"""

"""

for i in range(10):
print("Yorum satırı!")

"""
print("Merhaba yukarıdaki kodlar yorum satırı içinde ve çalışmadı!")

Çıktı:
Merhaba yukarıdaki kodlar yorum satırı içinde ve çalışmadı!

Python'da Değişkenler

Python'da değişkenler çalışma esnasında tipleri belli olur. C gibi diller gibi önceden veri tipleri belirlenmez. Bu nedenle Python'da değişkenlerin tipleri aldıkları değerlere göre kolayca değişir. type() ile veri tipleri öğrenilebilir.

x = "Merhaba"
print(x)
print(type(x))
y = " Nasılsın?"
print(y)
print(type(y))
print(x+y)

Çıktı:
Merhaba <class 'str'> Nasılsın? <class 'str'> Merhaba Nasılsın?

x = 12
print(x)
print(type(x))
y = 15
print(y)
print(type(y))
print(x+y)

Çıktı:
12 <class 'int'> 15 <class 'int'> 27

z = True
print(z)
print(type(z))

Çıktı:
True <class 'bool'>

z = False
print(z)
print(type(z))

Çıktı:
False <class 'bool'>

Python'da Golbal ve Local Değişkenler

Global değişkenler her yerden erişilen değişkendir. Local değişken ise sadece bulunduğu fonksiyon vb. yapılar içinde erişilen değişkendir.

#Global değişken
x = "Merhaba"

#aşağıdaki fonksiyon dışarıda olan x değişkenine erişir.
def fonksiyon_deniz():
print(x)

fonksiyon_deniz()

Çıktı:
Merhaba

#Bir fonksiyon, global değişkenin değerini değiştiremez.
#global
x = 15
print("buradaki x fonksiyon dışındakidir.")
print(x)

def fonksiyon_deniz():
#local
print("Fonksiyon içindeki local x")
x = 18
print(x)
fonksiyon_deniz()

print("buradaki x fonksiyon dışındakidir.")
print(x)

Çıktı:
buradaki x fonksiyon dışındakidir. 15 Fonksiyon içindeki local x 18 buradaki x fonksiyon dışındakidir. 15

#fonksiyon içindeli local değişken dışarıdan erişilemez

def deniz():
deger = "Merhaba"

deniz()

print(deger)

Çıktı:
NameError                                 Traceback (most recent call last)
<ipython-input-21-6e1a6a327c00> in <module>
      6 deniz()
      7 
----> 8 print(deger)

NameError: name 'deger' is not defined


#Bir fonksiyonun içindeki değişkene erişmek için onu global olarak tanımlayın.
def fonksiyon_deniz():
print("Fonksiyon içindeki local x")

global x
x = 18
print(x)
fonksiyon_deniz()

print("buradaki x fonksiyon dışından erişilendir çünkü globaldir.")

Çıktı:
Fonksiyon içindeki local x 18 buradaki x fonksiyon dışından erişilendir çünkü globaldir. 18

#Bir fonksiyon ile fonksiyon dışındaki değişkenin değerini değiştirmek için global olarak fonksiyon içinde tanımlayın.

#global
x = 15
print("buradaki x fonksiyon dışındakidir.")
print(x)

def fonksiyon_deniz():
#local
print("Fonksiyon içindeki local x")

global x
x = "Merhaba"
print(x)
fonksiyon_deniz()

print("buradaki x fonksiyon dışındakidir ve fonksiyon ile değiştirilmiştir.")
print(x)

Çıktı:
buradaki x fonksiyon dışındakidir. 15 Fonksiyon içindeki local x Merhaba buradaki x fonksiyon dışındakidir ve fonksiyon ile değiştirilmiştir. Merhaba

Python'da Tipleri ve Dönüşümleri

  1. Bir sayı tipi başka bir sayı tipine, bir sayı tipi bir metinsel veri tipine dönüşebilir
  2. Bir metinsel ifade sayı tipine dönüşemez.
  3. Bool veri tipi sayısal veri tipine dönüşebilir
  4. Bool veri tipi sayısal metinsel tipine dönüşebilir

sayi = 12.01545
print(sayi)
print(type(sayi))

#float tipi int tipine dönüştü
sayi = int(sayi)
print(sayi)
print(type(sayi))

Çıktı:
12.01545 <class 'float'> 12 <class 'int'>

sayi1 = 3535
print(sayi1)
print(type(sayi1))

#int veri tipi float veri tipine dönüşümü
sayi1 = float(sayi1)
print(sayi1)
print(type(sayi1))

Çıktı:
3535 <class 'int'> 3535.0 <class 'float'>

sayi2 = 22323
print(sayi2)
print(type(sayi2))

#int veri tipi(sayısal veri tipi) metinsel veri tipine(string) dönüşümü
sayi2 = str(sayi2)
print(sayi2)
print(type(sayi2))

Çıktı:
22323 <class 'int'> 22323 <class 'str'>

#str veri tipi sayısal veri tipine dönüşürse hata oluşur.

isim4 = 'e'
print(isim4)
print(type(isim4))

isim4 = int(isim4)
print(isim4)
print(type(isim4))

Çıktı:
e
<class 'str'>
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-30-379b5812dede> in <module>
      5 print(type(isim4))
      6 
----> 7 isim4 = int(isim4)
      8 print(isim4)
      9 print(type(isim4))

ValueError: invalid literal for int() with base 10: 'e'

Python'da Karşılaştırma

  1. "<" küçüktür
  2. ">" büyüktür
  3. "<=" küçük eşittir
  4. ">=" büyük eşittir
  5. "==" eşittir
  6. "!=" eşit değildir.
print(4<5)
Çıktı:
True

print(4==4)
Çıktı:
True

print(5>=6)
Çıktı:
False

print(5!=4)
Çıktı:
True

x = 12
y = 15
print(x>y)
print(x<y)

print("---------")

x = True
y = True

print(x==y)
print(x!=y)

print("---------")

x = "Merhaba"
y = "Merhaba"

print(x==y)
print(x!=y)

print("---------")

x = "Merhaba"
y = "Nasılsın"

print(x==y)
print(x!=y)

Çıktı:
False True --------- True False --------- True False --------- False True

#Burada ise bilgisayarlar tarafından işlenen alfabedeki harf sıraları esas alınarak karşılaştırma yapılmıştır.
x = "Merhaba"
y = "Nasılsın"

print(x>y)
print(x<y)

print(x>=y)
print(x<=y)

print("---------")
x = "Merhaba"
y = "Merhaba"

print(x==y)
print(x!=y)

print(x>=y)
print(x<=y)

Çıktı:
False True False True --------- True False True True

Python'da Matematiksel İşlemler

  1. Toplama +
  2. Çıkarma -
  3. Bölme /
  4. Çarpma *
  5. Üs Alma **
  6. Mod Alma %
  7. Sonuc kısmının tam kısmını alarak bölme

import math ile ilgili Matematik kütüphaneleri sisteme eklenir.

abs() ile mutlak değer bulunur.


print(5+5)
Çıktı:
10

print(15/3)
Çıktı:
5

print(8**5)
Çıktı:
32768

print(8%5)
Çıktı:
3

print(12/5)
print(12//5)
print(17/5)
print(17//5)
Çıktı:
2.4 2 3.4 3

import math
print(abs(12))
Çıktı:
12

print(abs(-15))
Çıktı:
15

x = 15
y = 14
print(x+y)
Çıktı:
29

x = "D"
y = "E"
print(x+y)
Çıktı:
DE

Python'da Atama

deger = 0
print(deger)
Çıktı:
0

deger = deger + 10
print(deger)
Çıktı:
10

deger += 10
print(deger)
Çıktı:
20

deger = 0
deger -= 10
print(deger)
Çıktı:
-10

deger = 10
deger *= 10
print(deger)
Çıktı:
100

deger = 100
deger /= 10
print(deger)
Çıktı:
10.0

deger = 111
deger //= 10
print(deger)
Çıktı:
11

deger = 10
deger **= 10
print(deger)
Çıktı:
10000000000

deger = 1134
deger %= 10
print(deger)
Çıktı:
4

Python Listeler

  1. "[" ve "]" veya list() ile oluşturulur.
  2. Elemanları değiştirilebilir.
  3. Birden fazla eleman saklayabilir.
#[ ] ile liste yapımı
liste = [1,2,3,"Merhaba"]
#liste elemanlarına erişmek
print(liste[0])
print(liste[1])
print(liste[2])
print(liste[3])
Çıktı:
1 2 3 Merhaba

#list() ile liste yapımı
liste = list(["Merhaba","Nasılsın","Denizhan"])
print(liste[0])
print(liste[1])
print(liste[2])
Çıktı:
Merhaba Nasılsın Denizhan

#listenin tamamını yazdırmak
liste = ["Python","Java",12,4.5]
print(liste)
Çıktı:
['Python', 'Java', 12, 4.5]

#list uzunluğunu öğrenmek için len() kullanılır
liste = ["İstanbul","Ankara",1,2,3,4,1,1,1,1,1,1,1,1,1]
print(len(liste))
Çıktı:
15

#Liste elemanları değiştirilebilir.
liste = ["Denizhan","Şahin"]
print(liste)
print(liste[0])
print(liste[1])

liste[0] = "Deniz"
liste[1] = "Han"
print(liste)
print(liste[0])
print(liste[1])
Çıktı:
['Denizhan', 'Şahin'] Denizhan Şahin ['Deniz', 'Han'] Deniz Han

#liste içinde liste saklanabilir
liste = [1,2,3,4,5,[6,7,8,9]]
print(len(liste))
print(liste[0])
print(liste[1])
print(liste[2])
print(liste[3])
print(liste[4])
print(liste[5])
Çıktı:
6 1 2 3 4 5 [6, 7, 8, 9]

#liste içindeki listeye erişilebilir ve değerleri değiştirilebilir.
print(liste[5])
print(len(liste[5]))
print(type(liste[5]))
print("-------")
print(liste[5][0])
print(liste[5][1])
print(liste[5][2])
print(liste[5][3])
liste[5][0] = "Merhaba"
liste[5][1] = "Nasılsın"
liste[5][2] = "Nerdesin"
liste[5][3] = "Ne yapıyorsun"
print("-------")
print(liste[5][0])
print(liste[5][1])
print(liste[5][2])
print(liste[5][3])

Çıktı:
[6, 7, 8, 9] 4 <class 'list'> ------- 6 7 8 9 ------- Merhaba Nasılsın Nerdesin Ne yapıyorsun


#list() fonksiyonu ise tek paramtre alır, list([1,2,3,4])(
#list() birden fazla parametre almaz
liste = list(1,2,3)
Çıktı:
TypeError                                 Traceback (most recent call last)
<ipython-input-87-2dca8d5db2fc> in <module>
      2 #list() birden fazla parametre almaz
      3 
----> 4 liste = list(1,2,3)

TypeError: list expected at most 1 argument, got 3

Python'da Tuple

  1. Değiştirlemez
  2. Sıralıdır
  3. tuple() veya "(" ve ")" ile oluşturulur.
#tuple() ile oluşturma
tuple1 = tuple([1,2,3,4])
print(tuple1)
print(tuple1[0])
print(tuple1[1])
print(tuple1[2])
print(tuple1[3])
Çıktı:
(1, 2, 3, 4) 1 2 3 4

# () ile tuple oluşturma
tuple2 = ("Merhaba","Nasılsın",1,2)
print(tuple2)

print(tuple2[0])
print(tuple2[1])
print(tuple2[2])
print(tuple2[3])
Çıktı:
('Merhaba', 'Nasılsın', 1, 2) Merhaba Nasılsın 1 2

print(len(tuple2))
Çıktı:
4

#Tuple değerleri değiştirilemez
tuple1[0] = "Merhaba"

Çıktı:
TypeError                                 Traceback (most recent call last)
<ipython-input-90-b526d7f7017b> in <module>
      1 #Tuple değerleri değiştirilemez
----> 2 tuple1[0] = "Merhaba"

#tuple() fonksiyonu ise tek paramtre alır, tuple([1,2,3,4])(
#tuple() birden fazla parametre almaz
liste = tuple(1,2,3)
Çıktı:
TypeError                                 Traceback (most recent call last)
<ipython-input-93-907b2c3a76b9> in <module>
      2 #tuple() birden fazla parametre almaz
      3 
----> 4 liste = tuple(1,2,3)

TypeError: tuple expected at most 1 argument, got 3
TypeError: 'tuple' object does not support item assignment


Python'da Set

  1. Sıralı değildir.
  2. Aynı değerler yer alamaz
  3. "{" ve "}" ile oluşturulur
  4. set() ile oluşturulur
#set ile oluşturma
set1 = set([1,2,3,4,5])
print(set1)
Çıktı:
{1, 2, 3, 4, 5}

#{} ile oluşturma
set1 = {1,2,3,4}
print(set1)
print(type(set1))
Çıktı:
{1, 2, 3, 4} <class 'set'>

#sıralı değildir
print(set1[0])
Çıktı:
TypeError                                 Traceback (most recent call last)
<ipython-input-99-2b70b1a154b8> in <module>
      1 #sıralı değildir
----> 2 print(set1[0])

#aynı değerler tekrar tekrar yer alamaz
set2 = set([1,2,3,3,3,3,2,2,2,2,4])
print(set2)
Çıktı:
{1, 2, 3, 4}

#set() fonksiyonu ise tek paramtre alır, set([1,2,3,4])(
#set() birden fazla parametre almaz
set3 = set(1,2,3)
Çıktı:
TypeError                                 Traceback (most recent call last)
<ipython-input-104-b962b3244638> in <module>
      2 #set() birden fazla parametre almaz
      3 
----> 4 set3 = set(1,2,3)

TypeError: set expected at most 1 argument, got 3
TypeError: 'set' object is not subscriptable

Python'da Sözlükler

  1. dict() veya "{" ve "}" ile oluşturulur.
  2. Anahtar ve değer mantığı vardır.
  3. Sıralı değildir.
#{} ile oluşturma
sözlük = {"Marka":"Apple","Model":"İphone 14","Yıl":"2022"}
print(sözlük)
print(type(sözlük))
Çıktı:
{'Marka': 'Apple', 'Model': 'İphone 14', 'Yıl': '2022'} <class 'dict'>

#{} ile oluşturma
sözlük1 = dict(Marka ="Apple",Model="İphone 14",Yıl="2022", Fiyat="1200")
print(sözlük1)
print(type(sözlük1))
Çıktı:
{'Marka': 'Apple', 'Model': 'İphone 14', 'Yıl': '2022', 'Fiyat': '1200'} <class 'dict'>

#içindeki anahtarların değerlerine ulaşmak için anahtar isimleri kullanılır
sözlük2 = {"Marka":"Samsung","Model":"S23 Ultra","Yıl":"2023"}
print(sözlük2["Yıl"])
Çıktı:
2023

#sıralı değildir
print(sözlük[0])
Çıktı:
KeyError                                  Traceback (most recent call last)
<ipython-input-116-4cfe534c5715> in <module>
      1 #sıralı değildir
----> 2 print(sözlük[0])

KeyError: 0

Python ile Çalışma Ortamına Kütüphane Eklemek

math isimli bir kütüphane eklemek için import kullanılır.

import math


import math
#math içindeki abs() fonksiyonu kullanılır.
#kütüphanede yer alan fonksiyon doğrudan kullanılabilir.
deger = abs(-111111111)
print(deger)
Çıktı:
111111111

Python'da Karar Yapıları

IF ve ELSE


deger = 12
if deger == 12:
print(deger)
else:
print("Hata")
Çıktı:
12

deger = 13
if deger == 12:
print(deger)
else:
print("Hata")
Çıktı:
Hata

deger = 12

if deger == 12:
print("Merhaba")
elif deger == 13:
print("Nasılsın")
else:
print("Hatalı")
print(deger)
Çıktı:
Merhaba

deger = 12341241234

if deger == 12:
print("Merhaba")
elif deger == 13:
print("Nasılsın")
else:
print("Hatalı")
print(deger)
Çıktı:
Hatalı 12341241234

Python'da Döngü Yapıları

While,For


#while ile bir koşul doğru ise her zaman ve sonsuza kadar çalışır.
deger = 10
while deger<100:
print(deger)
deger += 10
Çıktı:
10 20 30 40 50 60 70 80 90

#for ile istenilen değer kadar işlem yapılır
#range ile 20'a kadar tekrarlı döngü
for i in range(20):
print(i)
Çıktı:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

#range ile 1'den 5'a kadar tekrarlı döngü
for i in range(1,5):
print(i)
Çıktı:
1 2 3 4

#range ile 1'den 50'e kadar her adımda 5 artttırma yaparak tekrarlı döngü
for i in range(1,50,5):
print(i)
Çıktı:
1 6 11 16 21 26 31 36 41 46

#break ile döngü sonlanır
for i in range(10):
if i== 8:
break
else:
print(i)
Çıktı:
0 1 2 3 4 5 6 7

#continue ile döngüde ilgili adım atlanır
for i in range(10):
if i== 2:
continue
else:
print(i)
Çıktı:
0 1 3 4 5 6 7 8 9

#while döngüsü hep doğru koşul ile çalışırsa if ile break kullanabilirsin.
kontrol = 0
while True:
print(kontrol)
if kontrol == 20:
break
kontrol += 1
Çıktı:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

#for ile bir dizi yazdırılabilir
isimler = ["Deniz","Han","Denizhan"]
for isim in isimler:
print(isim)
Çıktı:
Deniz Han Denizhan

#for ile bir string ifadenin karakterleri yazdırılabilir
isim = "Denizhan"
for karakter in isim:
print(karakter)
Çıktı:
D e n i z h a n

Python'da String

Uzunluğu vardır, birden fazla karakter içerir ve sıralıdır. Index değerleri değiştirilemez.

isim = "Deniz"
print(isim)
Çıktı:
Deniz

#sıralıdır
print(isim[0])
print(isim[1])
print(isim[2])
Çıktı:
D e n

#değeler değiştirilemez
print(isim[0])
isim[0] = 'M'
Çıktı:
D
TypeError                                 Traceback (most recent call last)
<ipython-input-148-7c8f40ca1668> in <module>
      2 print(isim[0])
      3 
----> 4 isim[0] = 'M'

TypeError: 'str' object does not support item assignment

Python'da print() Fonksiyonu

print(1)
Çıktı:
1

print(5+6)
Çıktı:
11

#print() ile aynı veri tipine sahip değişkenler yazılabilir
sayi = 15
sayi2 = 16
print(sayi+sayi2)
Çıktı:
31

deger = "Merhaba"
print(deger)
Çıktı:
Merhaba

#print() ile aynı veri tipine sahip değişkenler yazılabilir
isim = "Deniz"
soyisim = "Sahin"

print(isim+soyisim)
print(isim+" "+soyisim)

Çıktı:
DenizSahin Deniz Sahin

#print() ile farklı veri tipine sahip değişkenler yazılamaz
isim = "Deniz"
tarih = 2023

print(isim+tarih)
Çıktı:
TypeError                                 Traceback (most recent call last)
<ipython-input-156-7c12d1dba7f2> in <module>
      3 tarih = 2023
      4 
----> 5 print(isim+tarih)

TypeError: can only concatenate str (not "int") to str

#print() ile farklı veri tipine sahip değişkenler birbirine uygun veri tipi dönüşümü yapılırsa yazılabilir
isim = "Deniz"
tarih = 2023

print(isim+str(tarih))
Çıktı:
Deniz2023

Python'da Fonksiyon Oluşturmak

def yazdir():
print("Merhaba")

#fonksiyon çağırmak
yazdir()

Çıktı:
Merhaba

def islem():
x = 0
print(x+50)
islem()
Çıktı:
50

#hatalı -değer döndürme(return) yoktur
deger_islem = islem()
print(deger_islem)
Çıktı:
50

#return ile fonksiyondan kullanılabilir değer alma amacıyla kullanılması - değer döndürme
def islem():
x = 0
print(x+50)
#fonksiyondan kullanılabilir bir değer alınmasını sağlar
return x+50

#fonksiyondan kullanılabilir bir değer alındı ve ataması yapıldı
deger_islem = islem()

#fonksiyondan alınan değer yazdırıldı
print("-----------")
print(deger_islem)

Çıktı:
50

def islem():
x = 0
x += 84897
print(x)
return x

deger_islem = islem()

print(deger_islem)
Çıktı:
84897 84897

#fonksiyon parametresi
#fonksiyona değer gönder sonuç elde et

def kare_alma(sayi):
sonuc = sayi * sayi
print(sonuc)
return sonuc

kare = kare_alma(5)

Çıktı:
25

#fonksiyon parametresi, birden fazla parametre
#fonksiyona değer gönder sonuç elde et
def carpma(sayi1,sayi2):
return sayi1*sayi2
#fonksiyon çağırma ve parametreye değer verme
deger = carpma(4,5)
print(deger)
Çıktı:
20
None

Yorum Gönder

Yorum yaptığınız için teşekkürler :)

Daha yeni Daha eski