Verileri elle temizlemek yerine neden pandas kullanılmalı?
pandas ile veri temizlemeye değer; çünkü her adım kayıt altındadır ve gelecek ayın dışa aktarılan verileri üzerinde saniyeler içinde yeniden çalıştırılabilir. Elektronik tabloda elle yapılan düzeltmeler ise yavaştır, kolayca unutulur ve denetlenemez.
Fernhill Gardens adında, dört şubesi olan kurgusal bir bahçe ürünleri mağazaları grubu düşünün. Finans analisti Tomasz'a her ay çevrimiçi siparişlerin yer aldığı bir CSV dosyası gelir. Aşağıdaki örnekte aynı sipariş iki kez yer alır, şube adı birkaç farklı şekilde yazılmıştır, tutarlarda para birimi simgesi ve virgül vardır, tarihlerde günün başta ve yılın başta olduğu biçimler karışık kullanılmıştır. Eksik değerler ise boş hücreler, 'yok' ve '-' olarak görünür. Elle düzeltmek bir gün sürer ve toplamlar ödeme hizmeti sağlayıcısının raporuyla bir türlü tam olarak eşleşmez.
| order_id | site | order_date | amount | postcode |
|---|---|---|---|---|
| 10231 | Leeds | 03/11/2026 | £1,240.00 | LS6 |
| 10231 | Leeds | 03/11/2026 | £1,240.00 | LS6 |
| 10232 | leeds | 2026-11-04 | 86.50 | Uygulanamaz |
| 10233 | YORK | 05/11/2026 | - | YO1 |
| 10234 | Harrogate | 142 |
pandas ile veriler adım adım nasıl temizlenir?
pandas ile veri temizlerken veriyi eksik değer göstergelerini tanımlayarak yükleyin, inceleyin, metinleri standartlaştırın, sayıları ve tarihleri dönüştürün, yinelenen kayıtları kaldırın, kalan boşluklarla ne yapacağınıza karar verin ve ardından sonucu güvenilir bir toplamla karşılaştırın. Adımları bu sırayla uygulamak, bir düzeltmenin diğerini bozmasını önler.
1. Eksik veri işaretlerini tanımlayarak yükleyin
pandas kütüphanesinin read_csv işlevi, dosyayı bir DataFrame içine okur. na_values parametresi, pandas kütüphanesinin boş alanlar gibi varsayılan olarak tanıdığı değerlerin yanı sıra, 'N/A' ve '-' gibi eksik veri sayılacak ek metin dizelerini de listelemenizi sağlar. Bunları burada tanımlamak, daha sonra tek tek aramak zorunda kalmanızı önler.
2. Herhangi bir şeyi değiştirmeden önce inceleyin
İlk satırlara head ile, sütun türlerine ve eksik olmayan değer sayılarına info ile, sütun başına eksik değer sayısına ise isna ile sum işlevlerini birleştirerek bakın. Bulgularınızı yazın: Fernhill'de amount metin olarak saklanıyor ve order_date farklı biçimler içeriyor.
3. Metni standartlaştırın
Bir sütunda metin yöntemlerini kullanın: str.strip baştaki ve sondaki boşlukları kaldırır; str.lower veya str.title ise büyük ve küçük harf kullanımını tutarlı hale getirir. Böylece ' Leeds', 'leeds ' ve 'LEEDS' tek bir yerleşim yeri olarak değerlendirilir. Ardından kalan yazım farklılıklarını yakalamak için unique ile benzersiz değerleri listeleyin.
4. Sayıları dönüştürün
Para birimi simgesini ve binlik ayırıcı virgülü str.replace ile kaldırın, ardından to_numeric ile dönüştürün. errors bağımsız değişkenini coerce olarak ayarlamak, ayrıştırılamayan her şeyi işlemi durdurmak yerine eksik değere dönüştürür; böylece bu satırları fark etmeden kaybetmek yerine sayabilir ve inceleyebilirsiniz.
5. Tarihleri dönüştürün
to_datetime, metni geçerli tarihlere dönüştürür. Karma biçimlerde, mümkünse biçimi açıkça belirtin veya Birleşik Krallık tarzı tarihler için dayfirst ayarını kullanın. Ayrıca errors değerini coerce olarak ayarlayın; böylece ayrıştırılamayan tarihler, pandas'ın eksik tarih göstergesi olan NaT değerine dönüşür. dayfirst ayarının kesin bir kural değil, bir tercih olduğunu unutmayın ve sonuçları kontrol edin.
6. Yinelenen kayıtları kaldırın
drop_duplicates, tekrarlanan satırları kaldırır. Varsayılan olarak bir satır, yalnızca tüm sütunları eşleşiyorsa tekrar sayılır; subset parametresi, tekrarları order_id gibi seçili sütunlara göre değerlendirmenizi sağlar. keep ise ilk kopyanın mı yoksa son kopyanın mı tutulacağını belirler.
7. Kalan eksikler için ne yapılacağına karar verin
dropna, eksik değer içeren satırları kaldırır; ancak varsayılan olarak herhangi bir sütundaki değer eksikse satırı siler. Yalnızca amount gibi gerçekten ihtiyaç duyduğunuz değerlerin eksik olduğu satırları silmek için subset parametresini, boşlukları belirtilen bir değerle doldurmak içinse fillna kullanın. Ardından sütunların son veri türlerini belirlemek için astype kullanın; örneğin site için kategori türünü seçin.
Yetersiz ve iyileştirilmiş bir veri temizleme işlemi nasıl olur?
Zayıf uygulama dosyayı read_csv ile yükler, önce dropna'yı, ardından drop_duplicates'ı hiçbir parametre vermeden çağırır. Posta kodu çoğu zaman boş olduğundan dropna geçerli siparişlerin büyük bir bölümünü siler; ' Leeds' ile 'leeds ' hâlâ farklı olduğundan bazı yinelenen kayıtlar kalır. Gelir olması gerekenden çok düşük çıkar ve hangi satırların silindiğini kimse bilmez.
İyileştirilmiş işlem, yükleme sırasında 'N/A' ve '-' değerlerini eksik olarak tanımlar, site alanındaki baştaki ve sondaki boşlukları temizleyip her sözcüğün ilk harfini büyütür, amount alanından '£' ve virgülleri kaldırdıktan sonra to_numeric ile dönüştürür, order_date alanını dayfirst ve coerce ile dönüştürür, order_id temelinde yinelenen kayıtların ilkini tutup diğerlerini kaldırır ve yalnızca amount değeri eksik satırları siler. Ardından her adımın kaç satır kaldırdığını yazdırır ve toplam geliri ödeme sağlayıcısının raporuyla karşılaştırır. Tomasz artık her farkı açıklayabilir.
Veri temizliğinin işe yaradığını nasıl kontrol edersiniz?
Veri temizliğini kontrol etmek için her adımdan önce ve sonra satırları sayın, önemli bir toplamı bağımsız bir kaynakla karşılaştırın ve zorunlu olarak eksik değere dönüştürülen satırları inceleyin. Sütun türlerini doğrulamak için info komutunu yeniden çalıştırın ve tesis gibi kategorilerdeki benzersiz değerleri listeleyin. Bir adım beklenenden fazla satırı kaldırdıysa devam etmeden önce bu satırları inceleyin.
Bir yapay zeka asistanı pandas ile veri temizlemeye nasıl yardımcı olabilir?
Her sütunu, sorunlarını ve istediğiniz kuralı açıklarsanız bir yapay zeka asistanı veri temizleme adımlarının taslağını hazırlayabilir ve bilmediğiniz işlevleri açıklayabilir. Adlar, adresler veya tam posta kodları gibi gerçek müşteri verilerini yapıştırmak yerine, yapıyı uydurma örnek değerlerle anlatın. Her adımdan sonra satır sayılarını bildirmesini isteyin ve kullandığı her işlev argümanını resmî pandas belgelerinden kontrol edin. Çünkü asistanlar bazen var olmayan veya sürümler arasında değişmiş seçenekler önerir.
pandas ile veri temizlerken sık yapılan hatalar nelerdir?
En yaygın hata, dropna işlevini hiçbir bağımsız değişken vermeden çağırmak ve isteğe bağlı bir sütun dışında sorunu olmayan satırları kaybetmektir. Diğer hatalar: metni standartlaştırmadan yinelenen kayıtları kaldırmak, gün ve ay sırasını kontrol etmeden tarihleri dönüştürmek, özgün dosyanın üzerine yazmak ve temizlenmiş verinin toplamını güvenilir bir değerle hiç karşılaştırmamak.
Bu dersin Tosheo.ai içindeki yeri nedir?
Bu, veri bilimi kursunun veri bilimi ve analitiği kategorisinde yer alan bir kodlama dersidir. Tosheo.ai'daki her konu, kavramlar ve kodlama gerektirmeyen uygulamalarla başlar; kodlama dersleri ise isteğe bağlı, daha derinlemesine bir programdır. Kayıt sonrasında bu dersin tam uygulamalı sürümünde her temizleme adımını Python'da pandas ile yazar ve çalıştırırsınız; çalışmanız bir puanlama kılavuzuna göre değerlendirilir. Python'a yeni başlıyorsanız Python kursuyla başlayın. Pratik beceri kazandırır; yoğun bir eğitim programı değildir ve iş garantisi vermez.
Kaynaklar ve kapsam
pandas belgeleri: read_csv (kontrol tarihi: 19 October 2026) ↗
pandas kullanıcı kılavuzu: eksik verilerle çalışma (kontrol tarihi: 19 October 2026) ↗
pandas belgeleri: DataFrame.dropna (kontrol tarihi: 19 October 2026) ↗
pandas belgeleri: DataFrame.drop_duplicates (kontrol tarihi: 19 October 2026) ↗
pandas belgeleri: DataFrame.astype (kontrol tarihi: 19 October 2026) ↗
pandas belgeleri: to_numeric (kontrol tarihi: 19 October 2026) ↗
pandas belgeleri: to_datetime (kontrol tarihi: 19 October 2026) ↗
pandas belgeleri: Series.str.strip (kontrol tarihi: 19 October 2026) ↗