Ana içeriğe atla

psycopg2 ile Python’da PostgreSQL Veritabanlarını Yönetme

Python’un psycopg2 paketini kullanarak PostgreSQL veritabanlarını nasıl oluşturacağınızı, bağlanacağınızı ve yöneteceğinizi keşfedin.
Güncel 3 Eki 2026  · 14 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Veri, aklınıza gelebilecek neredeyse tüm dijital uygulamaların kalbinde yer alır. Mobil uygulamalardan ve bilgisayar oyunlarından bankacılık araçlarına ve otonom araçlara kadar her şey veriye dayanır. Peki tüm bu veriler nerede saklanıyor? Cevap: veritabanlarında. 

Veritabanı, genellikle bir bilgisayar sisteminde elektronik olarak saklanan, organize edilmiş yapılandırılmış veri koleksiyonudur. Son dönemde (artan veri hacmi ve çeşitliliğini karşılamak üzere tasarlanan) yeni veritabanı türleri geliştirilmiş olsa da, dünyadaki verilerin önemli bir kısmı hâlâ ilişkisel veritabanlarında saklanmaktadır. İlişkisel veritabanları, bir veya daha fazla ilişkiyle birbirine bağlanan, önceden tanımlanmış satır ve sütunlardan oluşan tablolar biçiminde veri depolar. 

Bu veritabanlarından veri çekebilmek ve veriyle çalışabilmek, veri sektöründe temel ve giderek daha çok talep gören bir beceridir. Veritabanları oluşturmanın ve yönetmenin standart yolu SQL’dir (Structured Query Language). SQL; PostgreSQL, Microsoft SQL Server, MySQL ve SQLite gibi pazardaki en popüler ilişkisel veritabanlarının temelini oluşturur.

Bu eğitimde PostgreSQL tabanlı veritabanlarına odaklanacağız ve bunları Python kullanarak nasıl oluşturabileceğinizi, bağlanabileceğinizi ve yönetebileceğinizi göstereceğiz. SQL-Python ikilisi, veri bilimi yolculuğunuz boyunca ustalaşmanız gereken becerilerden biridir. Python’u PostgreSQL’e bağlamak için, Python için en popüler PostgreSQL veritabanı adaptörü olan psycopg2 paketini kullanacağız. Hazır mısınız? Başlayalım!

PostgreSQL’i Anlamak

PostgreSQL hafif, ücretsiz ve açık kaynaklı bir ilişkisel veritabanıdır. Kanıtlanmış mimarisi, güvenilirliği, veri bütünlüğü ve Python ile R gibi diğer popüler programlama dilleriyle sorunsuz entegrasyonu sayesinde PostgreSQL, her ölçekte ve bölgedeki şirketler tarafından yaygın biçimde benimsenmiştir. 

PostgreSQL, SQL dilini kullanır ve en karmaşık veri iş yüklerini güvenle depolayıp ölçeklemek için pek çok özellikle genişletir. 

PostgreSQL’i kullanmaya başlamak için önce bilgisayarınıza kurmanız gerekir. PostgreSQL’in resmî sitesinde, farklı platform ve kullanım senaryoları için hazır paketler, kurulum dosyaları ve kaynak kod arşivini bulabilirsiniz.

Bu eğitimde, PostgreSQL ile başlamak için gereken tüm özellikleri içeren basit, yerel bir macOS uygulaması olan Postgres App’i kullanacağız; ancak diğer tüm paketlerin de aynı derecede geçerli olduğunu ve sorgu çalıştırmak için PostgreSQL söz diziminin paketler arasında aynı olduğunu unutmayın.

PostgreSQL hakkında daha fazla bilgi edinmek isterseniz, Yeni Başlayanlar için PostgreSQL Rehberimize ve çok sayıdaki SQL kursuna göz atın.

psycopg2’yi Anlamak

Sisteminizde ya da İnternet’te hâlihazırda oluşturulmuş bir veritabanına bağlanmak için, Python’a onu nasıl bulacağını belirtmeniz gerekir. Başka bir deyişle, Python’a ilgi duyduğunuz veritabanının bir PostgreSQL veritabanı olduğunu söylemeniz gerekir. 

Python’da seçebileceğiniz birkaç seçenek vardır. Bu durumda muhtemelen en popüler PostgreSQL veritabanı adaptörü olan psycopg2’yi kullanacağız. Psycopg2’nin bilgisayarınızda düzgün çalışması için bazı önkoşullar vardır. Bunları kurduktan sonra (daha fazla bilgi için belgelere bakın), psycopg2’yi diğer Python paketleri gibi kurabilirsiniz:

pip install psycopg2

Ancak, psycopg2’yi doğrudan kullanmak isterseniz derleyici veya haricî kütüphane gerektirmeyen bağımsız bir sürüm olan psycopg2-binary’yi de kurabilirsiniz. Bu, yeni kullanıcılar için tercih edilen kurulumdur.

pip install psycopg2-binary

Son olarak, Python’u bir Conda ortamında kullanıyorsanız psycopg2’yi Anaconda kurulumu ile kurmalısınız:

conda install -c anaconda psycopg2

Artık hazırsınız; psycopg2 ile PostgreSQL oturumunuza ilk bağlantınızı oluşturalım!

Python’u PostgreSQL’e Bağlamak

Python’u bir PostgreSQL veritabanıyla etkileşime sokmak için bir bağlantı kurmamız gerekir. Bu, yeni bir veritabanı oturumu oluşturan ve yeni bir bağlantı örneği döndüren psycopg2’nin connect() işleviyle yapılır.

Bu eğitim için yerel olarak barındırılan “datacamp_courses” adlı bir veritabanına bağlanacağız. 

conn = psycopg2.connect(database = "datacamp_courses", 
                        user = "datacamp", 
                        host= 'localhost',
                        password = "postgresql_tutorial",
                        port = 5432)

Gerekli temel bağlantı parametreleri şunlardır:

  • database. Veritabanı adı.
  • user. Kimlik doğrulama için gereken kullanıcı adı.
  • password. Kimlik doğrulama için kullanılan parola.
  • host. Veritabanı sunucusunun adresi (bizim durumumuzda veritabanı yerelde barındırılıyor, ancak bir IP adresi de olabilir).
  • port. Bağlantı port numarası (sağlanmazsa varsayılan 5432’dir).

PostgreSQL’de tablo oluşturma

datacamp_courses veritabanında ilk tablonuzu oluşturmanın zamanı geldi. DataCamp kurs kataloğundaki bazı kurslara ilişkin bilgileri içeren bir tablo oluşturmak istiyoruz. Tablonun şeması şu şekilde: 

Spesifikasyon, tablonun sütunları hakkında bize epey bilgi veriyor. Tablonun birincil anahtarının course_id olması ve veri türünün tamsayı olması gerekir. Birincil anahtar, sütun değerlerinin boş olamayacağını ve benzersiz olacağını zorunlu kılan bir kısıtlamadır. Bu sayede tablodaki belirli bir kaydı ya da kayıtlar kümesini benzersiz biçimde tanımlayabilirsiniz. 

Kalan sütunlar kurs adı, eğitmenin adı ve kursun konusu hakkında bilgi sağlar.

Tabloyu oluşturmadan önce, az önce oluşturduğunuz bağlantı örneğinin nasıl çalıştığını açıklamak önemlidir. Özetle, bağlantı bir veritabanı oturumunu kapsüller ve cursor() yöntemiyle SELECT, INSERT, CREATE, UPDATE veya DELETE gibi SQL komutlarını ve sorguları yürütmenize; commit() yöntemiyle de değişiklikleri kalıcı hale getirmenize olanak tanır. 

İmleç (cursor) örneğini oluşturduktan sonra execute() yöntemiyle veritabanına komut gönderebilir ve fetchone(), fetchmany() veya fetchall() ile tablodan veri çekebilirsiniz.

Son olarak, işlemleriniz bittiğinde imleci ve veritabanı bağlantısını kapatmak önemlidir. Aksi halde sunucu tarafında kaynak tüketmeye devam ederler. Bunu yapmak için close() yöntemini kullanabilirsiniz.

Aşağıda, datacamp_courses tablosunu oluşturmak için gereken kodu bulabilirsiniz:

# Open a cursor to perform database operations
cur = conn.cursor()
# Execute a command: create datacamp_courses table
cur.execute("""CREATE TABLE datacamp_courses(
            course_id SERIAL PRIMARY KEY,
            course_name VARCHAR (50) UNIQUE NOT NULL,
            course_instructor VARCHAR (100) NOT NULL,
            topic VARCHAR (20) NOT NULL);
            """)
# Make the changes to the database persistent
conn.commit()
# Close cursor and communication with the database
cur.close()
conn.close()

Bu, PostgreSQL’de tablo oluşturmanın çok temel bir örneğidir; ancak işler çok daha karmaşık hâle gelebilir. Bir PostgreSQL veritabanının nasıl oluşturulacağını, yapısını, veri türlerini ve normalleştirmeyi öğrenmek isterseniz PostgreSQL Veritabanı Oluşturma kursumuza göz atın.

Python’da Temel PostgreSQL Sorgularını Çalıştırma

datacamp_courses tablosu hazır; şimdi SQL kullanarak bazı temel sorgular gerçekleştirme zamanı!

INSERT 

Şimdiye kadar tablonun hiç değeri olmadığını fark etmiş olabilirsiniz. datacamp_courses tablosunda kayıt oluşturmak için INSERT komutuna ihtiyacımız var.

cur = conn.cursor()

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to SQL','Izzy Weber','Julia')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Analyzing Survey Data in Python','EbunOluwa Andrew','Python')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to ChatGPT','James Chapman','Theory')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to Statistics in R','Maggie Matsui','R')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Hypothesis Testing in Python','James Chapman','Python')");

conn.commit()
cur.close()
conn.close()

Ortaya çıkan tablo şöyle görünür:

course_id

course_name

course_instructor

topic

1

Introduction to SQL

Izzy Weber

Julia

2

Analyzing Survey Data in Python

EbunOluwa Andrew

Python

3

Introduction to ChatGPT

James Chapman

Theory

4

Introduction to Statistics in R

Maggie Matsui

R

5

Hypothesis Testing in Python

James Chapman

Python

SELECT 

SQL veritabanlarından veri okumak, veri bilimi yolculuğunuzda sıkça yapacağınız bir işlemdir. Buna genel olarak SELECT sorgusu denir. Şimdilik datacamp_courses tablosunun durumuna bakalım.

Tablodaki tüm verileri okumak için klasik SELECT * FROM database_name ifadesini çağıracağız. Ardından mevcut satırların tamamını çekmek için fetchall() yöntemini kullanacağız. PostgreSQL’in course_id sütunu için otomatik olarak sayısal bir indeks oluşturduğuna dikkat edin. 

cur = conn.cursor()
cur.execute('SELECT * FROM datacamp_courses;')
rows = cur.fetchall()
conn.commit()
conn.close()
for row in rows:
    print(row)
(1, 'Introduction to SQL', 'Izzy Weber', 'Julia')
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Introduction to Statistics in R', 'Maggie Matsui', 'R')
(5, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

UPDATE 

Verilerde sıkça hatalar bulunur. Önceki bölümde, “Introduction to SQL” kursuyla ilişkilendirilen konunun Julia olduğunu fark etmiş olabilirsiniz. Kurs bilgilerini kontrol ettikten sonra hatayı tespit ettik. Bunu değiştirip yerine “SQL” yazmalıyız. Bunu aşağıdaki gibi UPDATE ifadesiyle yapabiliriz:

cur = conn.cursor()
cur.execute("UPDATE datacamp_courses SET topic = 'SQL' WHERE course_name = 'Introduction to SQL';")
conn.commit()
conn.close()

DELETE 

Son olarak, tablonuzdaki kayıtlardan birini silmek isteyebilirsiniz. Örneğin, Introduction to Statistics in R kursunu silelim:

cur = conn.cursor()
cur.execute("""DELETE from datacamp_courses WHERE course_name = 'Introduction to Statistics in R'""");
conn.commit()
cur.close()

Python’da İleri Düzey PostgreSQL Sorguları

Önceki bölümde en temel SQL sorgularını inceledik. Ancak öğrenilecek daha çok şey var. Biraz daha ileri sorgulara bakalım.

ORDER BY

Diyelim ki veritabanınızı eğitmenin adına göre sıralamak istiyorsunuz. ORDER BY ifadesini kullanabilirsiniz:

cur = conn.cursor()

cur.execute('SELECT * FROM datacamp_courses ORDER BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(1, 'Introduction to SQL', 'Izzy Weber', 'SQL')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

GROUP BY

Farklı veri grupları içinde bazı toplulaştırma işlevleri uygulamak isteyebilirsiniz. Örneğin, farklı eğitmenlere göre kurs sayısını hesaplamakla ilgilenebilirsiniz. Bu tür bir işlemi GROUP BY ile yapabilirsiniz.

cur = conn.cursor()
cur.execute('SELECT course_instructor, COUNT(*) FROM datacamp_courses GROUP BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
('James Chapman', 2)
('Izzy Weber', 1)
('EbunOluwa Andrew', 1)

JOIN

Bu noktaya kadar yalnızca datacamp_course tablosuyla çalıştık. Ancak PostgreSQL gibi ilişkisel veritabanlarının gerçek gücünden, aynı anda birden fazla tabloyla çalıştığınızda yararlanırsınız. 

Birden fazla tabloyu birleştirmenin sihirli aracı JOIN işlemidir. Veritabanımızda, veri bilimi için en popüler programlama dilleri hakkında ad, TIOBE Endeksi’ndeki sırası ve Datacamp’te o dil ile ilgili kurs sayısı gibi temel bilgileri içeren programming_languages adlı ikinci bir tablo olduğunu hayal edin. Tablo şu şekildedir:

language_id

language_name

course_number

tiobe_ranking

1

SQL

31

8

2

Python

157

1

3

R

132

16

4

Julia

2

33

5

Scala

1

38

Diyelim ki iki tabloyu birleştirip kurs bilgilerini, dilin TIOBE endeksindeki sırasıyla birlikte almak istiyoruz. datacamp_course tablosunda görünen programlama dillerinin bilgilerini almak için bir INNER JOIN kullanacağız. 

cur = conn.cursor()
cur.execute("""SELECT course_name, course_instructor, topic, tiobe_ranking
FROM datacamp_courses
INNER JOIN programming_languages
ON datacamp_courses.topic = programming_languages.language_name""")
rows = cur.fetchall()
for row in rows:
    print(row)
('Introduction to SQL', 'Izzy Weber', 'SQL', 8)
('Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python', 1)
('Hypothesis Testing in Python', 'James Chapman', 'Python', 1)

Bu sadece bir örnek; ancak SQL join’lerinin potansiyeli sınırsızdır ve mutlaka bilinmesi gereken bir konudur. Join’lerle ilgili kurs, eğitim ve kopya kâğıdımıza göz atarak başlayabilirsiniz.

SQLAlchemy’ye Başlangıç

Psycopg2, PostgreSQL veritabanlarına bağlanmak için harika bir araçtır. Ancak Oracle ve MySQL gibi farklı SQL veritabanlarında barındırılan veritabanlarıyla çalışmanız gerekirse ne olacak? Bu senaryolarda, farklı türde SQL veritabanlarına bağlanabilen bir araç kullanmak daha iyi olabilir. Bunun için SQLAlchemy harika bir adaydır. 

Basitçe söylemek gerekirse SQLAlchemy, kullanıcılara Python diliyle veritabanlarına bağlanma, nesne tabanlı programlama ile SQL sorguları çalıştırma ve iş akışını kolaylaştırma olanağı sağlar. 

psycopg2 ile karşılaştırıldığında söz dizimi farklılık gösterse de, hemen hemen aynı şeyleri yapabilirsiniz. Aşağıda, datacamp_courses veri kümemize bağlanmak için bir engine oluşturma ve datacap_course tablosundaki tüm verileri okuma örneğini bulabilirsiniz

import sqlalchemy as db


engine = db.create_engine("postgresql://datacamp@localhost:5432/datacamp_courses")
conn = engine.connect() 
output = conn.execute("SELECT * FROM datacamp_courses")
print(output.fetchall())
conn.close()
[(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory'),
 (5, 'Hypothesis Testing in Python', 'James Chapman', 'Python'),
 (2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python'),
 (1, 'Introduction to SQL', 'Izzy Weber', 'SQL')]

SQLAlchemy öğrenmeye değer bir başka harika araçtır. Aracın nasıl çalıştığına kısa bir bakış için SQLALchemy Eğitimimize göz atın.  

DataCamp DataLab’de PostgreSQL Kullanma

DataCamp’te veri bilimini herkes için daha kolay ve erişilebilir kılmak için çalışıyoruz. DataCamp DataLab’in oluşturulmasının ardındaki sebep de buydu; veri bilimi için özel olarak tasarlanmış bulut tabanlı bir not defteri. DataCamp DataLab’i, kullanıcıların bireysel veya ortaklaşa kod yazmasına, veri analizi yapmasına ve içgörüleri paylaşmasına olanak tanıyan, Jupyter Notebook ile Google Dokümanlar’ın bir karışımı gibi düşünebilirsiniz.

DataLab’i PostgreSQL veritabanlarına ve diğer SQL veritabanlarına bağlamak son derece kolaydır. DataLab, veri kaynaklarına güvenli biçimde bağlanmanızı sağlar. Aynı zamanda Python veya R ile veri analizinize kesintisiz devam edebilirsiniz. Tek yapmanız gereken, entegrasyon oluşturmak; bağlantı kimlik bilgilerinizi gireceğiniz yalın, kodsuz bir süreci izlemek yeterlidir.

Son olarak, entegrasyonu denemek istiyor ancak bağlanacak bir PostgreSQL veritabanınız yoksa, örnek PostgreSQL veritabanlarımızdan birini kullanabilirsiniz!

DataCamp DataLab’i merak ediyor musunuz? Veri bilimi için bu yeni nesil not defteri hakkında daha fazla bilgi edinmek için bu makaleye göz atın.

Sonuç

Harika iş çıkardınız! Bu eğitimde PostgreSQL ile tanıştınız ve psycopg2 paketini kullanarak Python’dan ayrılmadan veritabanlarını nasıl yöneteceğinizi öğrendiniz. Ancak bu yolculuğun sadece başlangıcı. SQL, veri biliminde en yaygın kullanılan programlama dillerinden biridir. Öğrenmesi de nispeten kolaydır; yani bahane yok.  

Neyse ki Datacamp yanınızda. PostgreSQL’de ve genel olarak SQL’de akıcı olmanıza yardımcı olabilecek bazı kaynaklar şunlardır:

SSS

psycopg2 ile psycopg2-binary arasındaki fark nedir?

psycopg2 kaynak pakettir ve sisteminizde bir C derleyicisi ile PostgreSQL istemci kütüphanelerinin kurulu olmasını gerektirir. psycopg2-binary, hızlıca başlamanız için gereken her şeyi içeren önceden derlenmiş bir sürümdür. Geliştirme ve öğrenme amaçları için harikadır ancak olası ikili uyumsuzluklar nedeniyle üretim ortamları için önerilmez.

Python’da veritabanı bağlantı hatalarını nasıl ele alırım?

Bağlantı ile ilgili hataları Python’un try-except bloklarını kullanarak yakalayıp işleyebilirsiniz. Örneğin:

import psycopg2
from psycopg2 import OperationalError

try:
    conn = psycopg2.connect(
        database="datacamp_courses",
        user="datacamp",
        password="postgresql_tutorial",
        host="localhost",
        port=5432
    )
except OperationalError as e:
    print(f"An error occurred: {e}")

Bu, betiğinizin zarifçe hata vermesini ve gerekirse bağlantıları yeniden denemesini sağlar.

Yerel yerine uzak bir PostgreSQL veritabanına nasıl bağlanırım?

Uzak bir PostgreSQL veritabanına bağlanmak için, localhost yerine uzak sunucunun IP adresini veya alan adını yazın. Şunlardan emin olun:

  • Veritabanı sunucusu haricî bağlantılara izin veriyor.
  • Doğru port (genellikle 5432) güvenlik duvarında açık.
  • PostgreSQL pg_hba.conf dosyanız uzak bağlantıları kabul edecek şekilde yapılandırılmış.

Veritabanı kimlik bilgilerini güvenli bir şekilde saklamak için ortam değişkenlerini kullanabilir miyim?

Evet, kimlik bilgilerini ortam değişkenlerinde saklamak, kod içine gömmekten daha güvenlidir. Python’da bunlara os.environ ile erişebilirsiniz:

import os
conn = psycopg2.connect(
    database=os.environ["DB_NAME"],
    user=os.environ["DB_USER"],
    password=os.environ["DB_PASSWORD"],
    host=os.environ["DB_HOST"],
    port=os.environ["DB_PORT"]
)

Yerelde bunu yönetmek için .env dosyaları ve python-dotenv gibi araçları kullanın.

psycopg2 kullanırken SQL enjeksiyonunu nasıl önleyebilirim?

Kullanıcı verisi eklerken her zaman dize biçimlendirme yerine parametreli sorgular kullanın:

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)",
            ('Course Name', 'Instructor', 'Topic'))

Bu, kötü niyetli kullanıcıların sorgularınıza zararlı SQL kodu enjekte etmesini engeller.

psycopg2’de birden çok satırı aynı anda nasıl güncellerim?

Birden çok satırı verimli şekilde eklemek veya güncellemek için executemany() yöntemini kullanabilirsiniz:

courses = [
    ('Course A', 'Instructor A', 'Python'),
    ('Course B', 'Instructor B', 'R')
]
cur.executemany("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)", courses)

PostgreSQL’de hangi veri türleri vardır ve Python’da nasıl eşleşirler?

İşte bazı yaygın PostgreSQL veri türleri ve Python karşılıkları:

PostgreSQL Türü Python Karşılığı
INTEGER int
VARCHAR, TEXT str
BOOLEAN bool
DATE, TIMESTAMP datetime.date, datetime.datetime
NUMERIC decimal.Decimal

Python kullanarak PostgreSQL’den CSV’ye veri nasıl aktarırım?

copy_expert() yöntemini SQL COPY komutuyla birlikte kullanabilirsiniz:

with open('courses.csv', 'w') as f:
    cur.copy_expert("COPY datacamp_courses TO STDOUT WITH CSV HEADER", f)

Bu, yedek almak veya analize yönelik veri dışa aktarmak için kullanışlıdır.

Bu Python–PostgreSQL komutlarını Jupyter Notebook’ta kullanabilir miyim?

Kesinlikle! psycopg2, Jupyter ile sorunsuz çalışır. Yalnızca sorgularınızdan sonra veritabanı bağlantısını düzgün şekilde kapattığınızdan emin olun; çünkü Jupyter oturumları açık kalıp kaynak tüketebilir.

Python’da başarısız olan SQL sorgularını hata ayıklamanın en iyi yolu nedir?

Şunları yapabilirsiniz:

  • Yürütmeden önce sorguyu ve parametreleri yazdırın.
  • Daha fazla ayrıntı için PostgreSQL günlüklerini kullanın.
  • psycopg2 günlüğe kaydını connection.set_isolation_level() ayarlayarak etkinleştirin veya bu arabirimi kullanıyorsanız SQLAlchemy’nin echo modunu kullanın.

Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Serbest çalışan bir veri analistiyim; dünya genelinde şirketler ve kuruluşlarla veri bilimi projelerinde iş birliği yapıyorum. Ayrıca 2+ yıllık deneyime sahip bir veri bilimi eğitmeniyim. Düzenli olarak İngilizce ve İspanyolca veri bilimiyle ilgili makaleler yazıyorum; bunların bir kısmı DataCamp, Towards Data Science ve Analytics Vidhya gibi köklü internet sitelerinde yayımlandı. Siyaset bilimi ve hukuk geçmişine sahip bir veri bilimci olarak amacım, kamu politikası, hukuk ve teknolojinin kesişiminde çalışmak; fikirlerin gücünden yararlanarak özellikle iklim krizi olmak üzere acil sorunların üstesinden gelmemize yardımcı olabilecek yenilikçi çözümler ve anlatılar geliştirmek. Kendimi otodidakt bir kişi, sürekli öğrenen ve disiplinlerarasılığın güçlü bir savunucusu olarak görüyorum. Yeni şeyler öğrenmek için asla geç değildir.

Konular
Python
Veri Bilimi
Veri Analizi
SQL

Python hakkında daha fazla bilgi edinin

Kurs

Python ile Veritabanlarına Giriş

4 sa
102.1K
İlişkisel veritabanlarının temellerini ve onlarla nasıl çalışılacağını bu kurs ile öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör