• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

Pandas DataFrame nedir ve nasıl oluşturulur?

Garfield

Yönetici
YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
488
Mesajlar
501
AI Seviyesi
Yeni
Pandas DataFrame, verileri satır ve sütunlardan oluşan, her sütunun bir ad taşıdığı iki boyutlu tablo yapısıdır. Excel çalışma sayfasına benzer; ancak Python içinde filtreleme, birleştirme, hesaplama ve dönüştürme işlemlerini kodla yapmanızı sağlar. Bir DataFrame oluşturmak için önce pandas'ı içe aktarın; sözlük, liste veya NumPy dizisi gibi bellekteki verileri pd.DataFrame() içine verin. CSV dosyasını ise pd.read_csv() ile okuyarak DataFrame elde edin. Oluşturduktan sonra head(), shape ve dtypes ile tablonun beklediğiniz gibi oluştuğunu kontrol edebilirsiniz.

DataFrame nasıl çalışır?​


Bir DataFrame; satır etiketi olan bir index, sütun adları ve hücrelerdeki değerlerden oluşur. Sütunların veri türleri birbirinden farklı olabilir; örneğin yas sayısal, ad metin ve aktif doğru-yanlış değerlerinden oluşabilir. DataFrame, veritabanı tablosu veya Excel sayfası gibi görünse de tek başına Excel dosyası değildir; Python belleğinde duran bir veri yapısıdır.

Örneğin aşağıdaki tabloda üç öğrenci için iki sütun (ad ve not) bulunur:

Python:
import pandas as pd

veri = {
    "ad": ["Ayşe", "Mehmet", "Zeynep"],
    "not": [85, 72, 94]
}

df = pd.DataFrame(veri)
print(df)

Çıktı aşağıdaki yapıya benzer:

Kod:
       ad  not
0    Ayşe   85
1  Mehmet   72
2  Zeynep   94

Soldaki 0, 1 ve 2 değerleri otomatik oluşturulan index etiketleridir. ad ve not ise sütun adlarıdır. Bu örnekte df artık filtrelenebilen ve hesaplama yapılabilen bir DataFrame nesnesidir.

DataFrame oluşturma yöntemleri​


Kullanacağınız yöntem, verinin başlangıçta hangi biçimde bulunduğuna bağlıdır. En yaygın seçenekler arasındaki farkı şu tabloyla görebilirsiniz:
Kaynak veriKullanımÖrnek
SözlükSütunları listelerle tanımlamapd.DataFrame(veri)
İç içe listelerSatırları doğrudan vermepd.DataFrame(satirlar, columns=["ad", "not"])
CSV dosyasıDosyadaki tabloyu okumapd.read_csv("veri.csv")
NumPy dizisiSayısal veya matris verisi kullanmapd.DataFrame(dizi)
Bu yöntemlerin hepsi DataFrame üretir; farklı olan, verinin DataFrame'e hangi yönden aktarıldığıdır. Sözlükte her anahtar bir sütun olur. İç içe listelerde ise her iç liste genellikle bir satırı temsil eder.

Sözlükten oluşturma​


Sütun adlarını ve değerlerini açıkça belirtmek istediğinizde sözlük yöntemi en anlaşılır seçenektir:

Python:
import pandas as pd

veri = {
    "urun": ["Kalem", "Defter", "Silgi"],
    "fiyat": [12.5, 45.0, 8.0],
    "stok": [100, 40, 75]
}

df = pd.DataFrame(veri)
print(df)

Burada üç sözlük anahtarı üç sütuna, her listedeki üç değer de ilgili satırlara dönüşür. Tüm listelerin uzunluğu aynı olmalıdır. Örneğin urun listesinde üç, fiyat listesinde iki değer olursa DataFrame oluşturulurken hata alırsınız; çünkü pandas hangi fiyatın hangi ürünle eşleşeceğini belirleyemez.

İç içe listeden oluşturma​


Veriniz satır satır hazırsa sütun adlarını columns parametresiyle verebilirsiniz:

Python:
import pandas as pd

satirlar = [
    ["Ayşe", 85],
    ["Mehmet", 72],
    ["Zeynep", 94]
]

df = pd.DataFrame(satirlar, columns=["ad", "not"])
print(df)

Her iç liste bir satırdır. columns içindeki adların sayısı, veriden oluşan sütun sayısıyla eşleşmelidir. Kısa satırlar eksik hücrelerle tamamlanabilir; düzenli bir tablo için her satırda beklenen değer sayısını kontrol edin. Sütun adlarını yazmazsanız pandas otomatik adlandırma yapabilir; ancak anlamlı adlar vermek, sonraki filtreleme ve hesaplama işlemlerini daha okunabilir hâle getirir.

CSV dosyasından oluşturma​


Veri bir CSV dosyasındaysa, dosyayı doğrudan read_csv() ile okuyabilirsiniz:

Python:
import pandas as pd

df = pd.read_csv("ogrenciler.csv")

print(df.head())
print(df.shape)

Bu kod, Python programının çalıştığı geçerli çalışma klasöründe bulunan ogrenciler.csv dosyasını okur; bu klasör her zaman Python dosyanızın bulunduğu klasör değildir. Dosya başka yerdeyse uygun göreli veya tam dosya yolu verin. Örneği çalıştırmadan önce bu adla bir CSV dosyası hazırlayın. Sonraki not sütunu örnekleriyle de çalışacak dosya içeriği şöyle olabilir:

Kod:
ad,not
Ayşe,85
Mehmet,72
Zeynep,94
head() ilk satırları, shape ise (satır_sayısı, sütun_sayısı) biçiminde boyutu gösterir. Örneğin (100, 3), 100 satır ve 3 sütun bulunduğu anlamına gelir.

Oluşturulan DataFrame'i kontrol etme​


DataFrame'i oluşturduktan sonra yalnızca ekrana basmak yerine yapısını birkaç kısa kontrolle doğrulayın:

Python:
print(df.head())
print(df.columns)
print(df.shape)
print(df.dtypes)

columns sütun adlarını, shape satır ve sütun sayısını, dtypes ise her sütunun pandas tarafından algılanan veri türünü gösterir. Sayısal bir sütun metin olarak okunmuşsa toplama veya ortalama alma işlemleri beklediğiniz gibi çalışmayabilir. Bu durumda önce sütundaki değerlerin gerçekten sayısal olup olmadığını ve CSV dosyasındaki ayraç ile ondalık gösteriminin doğru okunup okunmadığını kontrol etmelisiniz.

Bir sütunu seçmek için sütun adını köşeli parantezle kullanabilirsiniz:

Python:
ortalama_not = df["not"].mean()
print(ortalama_not)

not sütunu sayısal değerlerden oluşuyorsa sonuç bu değerlerin ortalamasıdır. Bu işlem DataFrame'i değiştirmez; yalnızca mevcut veriden bir hesaplama üretir. DataFrame'e yeni sütun eklemek için ise atama yapabilirsiniz:

Python:
df["gecti"] = df["not"] >= 50
print(df)

Bu örnekte gecti sütununda notu 50 veya üzeri olan satırlar için True, diğerleri için False bulunur. Bu değerler varsayımsal öğrenci verisi üzerinde gösterim amaçlıdır; gerçek bir değerlendirme sonucu veya akademik kural anlamına gelmez.

Sık yapılan hatalar​


Listelerin uzunlukları farklıysa: Sözlükteki tüm sütun listelerinin aynı sayıda değer içerdiğini kontrol edin.

Sütun adı yanlış yazılıyorsa: Önce print(df.columns) çalıştırın. Büyük-küçük harf, boşluk ve Türkçe karakter farkları sütun adının eşleşmemesine neden olabilir.

Sayılar metin olarak okunuyorsa: print(df.dtypes) ile türü kontrol edin. Sayısal işlemden önce ilgili sütundaki boş, virgüllü veya birim içeren değerleri ayrıca temizlemek gerekir.

CSV dosyası bulunamıyorsa: Dosya yolunu ve Python programının çalıştığı klasörü kontrol edin. Dosyanın adını doğru yazmak tek başına yeterli değildir; dosyanın gerçekten belirtilen konumda bulunması gerekir.
 
Son düzenleme:

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Geri
Üst