ChatGPT

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.
DOSYA ORNEK_VERI SORUNLAR HEDEF
ChatGPT'de Aç
137 kez kopyalandı

Ö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.
Reklam
İleri SeviyeKurumsal

Yorumlar (0)

Henüz yorum yok

Promptu denediyseniz deneyiminizi veya geliştirme önerinizi paylaşın.

Yorum yapmak için giriş yap