Dağınık CSV ve Excel Verisini Python (pandas) ile Temizleme
Tekrarlı kayıtlar, bozuk tarihler, Türkçe karakter sorunları ve eksik değerlerle dolu veri dosyalarınız için; adım adım açıklamalı, yeniden çalıştırılabilir bir pandas temizleme betiği yazdırın.
Prompt
Sen dağınık gerçek dünya verilerini temizleme konusunda deneyimli bir veri mühendisisin. Kodun okunabilir ve tekrar çalıştırılabilir olmasına önem verirsin.
Dosyanın türü, boyutu ve kaynağı: [DOSYA]
Sütunlar ve örnek birkaç satır (kişisel verileri maskeleyerek): [ORNEK_VERI]
Gördüğüm sorunlar: [SORUNLAR]
Temiz verinin nerede kullanılacağı: [HEDEF]
Başlamadan önce: Veride yanlış yorumlayabileceğin bir kural (ör. tarih biçimi gün/ay mı ay/gün mü) varsa en fazla 3 kısa soru sor ve yanıtımı bekle.
Betik gereksinimleri:
1. Dosyayı doğru kodlama ve ayırıcıyla oku (Türkçe karakterler için utf-8 / cp1254 denemesi).
2. Sütun adlarını standartlaştır (küçük harf, boşluk yerine alt çizgi, Türkçe karakterleri koru veya dönüştür; hangisini seçtiğini açıkla).
3. Her sorun için ayrı, yorum satırıyla açıklanmış bir temizleme adımı: tip dönüşümü, tarih ayrıştırma, boşluk ve büyük-küçük harf düzeltme, tekrar kayıtları kaldırma, eksik değer stratejisi.
4. Her adımdan sonra kaç satırın etkilendiğini yazdıran kısa kontroller.
5. Temizlenen veriyi yeni bir dosyaya yaz; orijinal dosyaya dokunma.
6. Sonunda bir "temizlik raporu" yazdır: Başlangıç / bitiş satır sayısı, düzeltilen hücre sayıları.
Kurallar: Eksik değerleri gerekçesiz silme veya doldurma; her sütun için stratejini açıkla. Kodu tek bir blokta ver, ardından nasıl çalıştıracağımı anlat.
Doldurulacak alanlar 4
- [DOSYA]
- Dosyanın türü, boyutu ve kaynağı Örn. Muhasebe programından alınmış 45.000 satırlık CSV, noktalı virgülle ayrılmış
- [ORNEK_VERI]
- Sütunlar ve örnek satırlar Örn. Müşteri Adı;Tarih;Tutar;Şehir — "ahmet YILMAZ ";03.02.2026;1.250,50;istanbul
- [SORUNLAR]
- Veride gördüğünüz sorunlar Örn. Aynı müşteri farklı yazılmış, tutarlar metin, şehir adları tutarsız, bazı satırlar tamamen boş
- [HEDEF]
- Temiz verinin kullanım amacı Örn. Power BI'da aylık satış raporu
Örnek çıktı
```python
import pandas as pd
# 1) Okuma: Türkçe karakterler için önce utf-8, olmazsa cp1254
try:
df = pd.read_csv("satislar.csv", sep=";", encoding="utf-8")
except UnicodeDecodeError:
df = pd.read_csv("satislar.csv", sep=";", encoding="cp1254")
baslangic = len(df)
# 2) Tamamen boş satırları kaldır
df = df.dropna(how="all")
print(f"Boş satır silindi: {baslangic - len(df)}")
# 3) Tutar: "1.250,50" → 1250.50
df["tutar"] = (df["Tutar"].astype(str).str.replace(".", "", regex=False)
.str.replace(",", ".", regex=False).astype(float))
# 4) Tarih: gün.ay.yıl
df["tarih"] = pd.to_datetime(df["Tarih"], format="%d.%m.%Y", errors="coerce")
...
```
Çalıştırma: Betiği temizle.py olarak kaydedin, CSV ile aynı klasörde `python temizle.py` komutunu çalıştırın. Çıktı: satislar_temiz.csv.
import pandas as pd
# 1) Okuma: Türkçe karakterler için önce utf-8, olmazsa cp1254
try:
df = pd.read_csv("satislar.csv", sep=";", encoding="utf-8")
except UnicodeDecodeError:
df = pd.read_csv("satislar.csv", sep=";", encoding="cp1254")
baslangic = len(df)
# 2) Tamamen boş satırları kaldır
df = df.dropna(how="all")
print(f"Boş satır silindi: {baslangic - len(df)}")
# 3) Tutar: "1.250,50" → 1250.50
df["tutar"] = (df["Tutar"].astype(str).str.replace(".", "", regex=False)
.str.replace(",", ".", regex=False).astype(float))
# 4) Tarih: gün.ay.yıl
df["tarih"] = pd.to_datetime(df["Tarih"], format="%d.%m.%Y", errors="coerce")
...
```
Çalıştırma: Betiği temizle.py olarak kaydedin, CSV ile aynı klasörde `python temizle.py` komutunu çalıştırın. Çıktı: satislar_temiz.csv.
0
- Kopyalanma
- 137
- Olumlu oy
- +0
- Yorum
- 0
Promptun aracı
ChatGPT için diğer promptlarBenzer promptlar
- Arama Niyetine Uygun SEO Blog Yazısı Hedef anahtar kelimenize göre arama niyetini analiz eden, önce taslak sunup onayınızı alan, sonra özgün deneyim ve örneklerle zenginleştirilmiş SEO uyumlu bir blog yazısı yazdırın.
- Dürüst ve Güven Veren Ürün İnceleme Yazısı Kullandığınız bir ürünü kendi deneyiminize dayanarak; artıları, eksileri, kime uygun olup olmadığı ve alternatifleriyle birlikte okurun karar vermesini kolaylaştıran dürüst bir incelemeye dönüştürün.
- "En İyi X Öneri" Formatında Liste Yazısı (Listicle) "En iyi 10 ...", "... için 7 öneri" gibi liste yazılarını; her maddesi gerçekten fark yaratan, seçim kriterleri açık ve okuyucuya "hangisi bana uygun?" sorusunun cevabını veren biçimde yazın.
- Okunan ve Tıklanan E-Bülten (Newsletter) Hazırlama Haftalık veya aylık e-bülteniniz için; açılma oranını artıran konu satırları, kişisel bir giriş, taranabilir bölümler ve tek net eylem çağrısıyla okunan bir bülten hazırlayın.
Topluluk denemeleri (0)
Bu promptla üretilen görseller. Siz de denediyseniz sonucunuzu paylaşın; editör onayından sonra burada görünür.
Henüz paylaşılan deneme yok. İlk sonucu siz paylaşın.
Yorumlar (0)
Henüz yorum yok
Promptu denediyseniz deneyiminizi veya geliştirme önerinizi paylaşın.
Yorum yapmak için giriş yap