Toplanan Verileri Verimli Biçimde Depolama
CSV/JSON/Parquet'e kaydetme, güvenli biçimde ekleme, yinelenenleri kaldırma ve artımlı toplama.
Toplanan Verileri Verimli Biçimde Depolama, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Ham Yanıtlardan Saklanan Verilere
Verileri topladıktan sonra yeniden yüklenebilmesi, paylaşılabilmesi ve analiz edilebilmesi için onları depolamanız gerekir. Doğru biçim ve birkaç iyi alışkanlık, hız ve disk kullanımı açısından büyük fark yaratır.
Bu derste CSV, Parquet, toplu verilerin eklenmesi ve yinelenen kayıtların kaldırılması ele alınmaktadır.
JSON'dan DataFrame'e
API yanıtları genellikle sözlük listeleridir. pd.DataFrame, bunları doğrudan depolamaya hazır bir tabloya dönüştürür.
import pandas as pd
records = [
{"id": 1, "name": "A", "score": 9.5},
{"id": 2, "name": "B", "score": 8.0},
]
df = pd.DataFrame(records)
print(df)df.to_csv ile CSV'ye Kaydetme
CSV evrensel ve insanlar tarafından okunabilir bir biçimdir. to_csv ile kaydedin; satır dizininin başıboş bir sütun olarak yazılmaması için index=False aktarın.
df.to_csv("data.csv", index=False)
# Reload
df2 = pd.read_csv("data.csv")CSV'nin Sınırlamaları
CSV kullanışlıdır ancak yapay zekâ çalışmaları açısından bazı dezavantajları vardır:
- Tür bilgisi yoktur — her şey metin olarak saklanır, bu nedenle veri türleri yükleme sırasında yeniden tahmin edilir
- Varsayılan olarak sıkıştırma uygulanmadığından dosyalar büyüktür
- Büyük veri kümelerini okumak yavaştır
Daha büyük veya tekrar tekrar yüklenen veriler için Parquet daha iyi bir seçenektir.
df.to_parquet ile Parquet'e Kaydetme
Parquet, sütun tabanlı bir ikili biçimdir. Veri türlerini korur, iyi sıkıştırılır ve CSV'den çok daha hızlı yüklenir.
Kurulu bir pyarrow gibi motora ihtiyaç duyar.
df.to_parquet("data.parquet", index=False)
df2 = pd.read_parquet("data.parquet")
print(df2.dtypes) # types preserved, no re-guessingCSV ve Parquet — Hangisi Ne Zaman Kullanılmalı
Genel kullanım kuralları:
- CSV: küçük veriler, Python dışındaki araçlarla paylaşım ve hızlı inceleme
- Parquet: büyük veriler, tekrarlanan yüklemeler, türlerin korunması ve analitik işlem hatları
Modelleri besleyen veri toplama işlerinde Parquet'i tercih edin.
pd.concat ile Yeni Toplu Verileri Ekleme
Veri toplama işlemi genellikle toplu olarak gerçekleşir. Mevcut bir DataFrame'i yenisiyle pd.concat kullanarak birleştirin.
ignore_index=True, dizini yeniden numaralandırarak düzenli kalmasını sağlar.
new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))CSV Dosyasına Doğrudan Ekleme
Mevcut bir CSV'yi yüklemeden sonuna ekleme yapmak için dosyayı ekleme kipinde açın ve sonraki yazma işlemlerinde üst bilgiyi atlayın.
import os
header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)Yinelenenleri Kaldırmanın Nedeni
Toplama işlemini yeniden çalıştırmak, örtüşen sayfalar veya yeniden denemeler yinelenen satırlar oluşturabilir. Yinelenenler sayıları şişirir ve eğitim/sınama bölmeleri arasında sızarak model değerlendirmesine zarar verebilir.
Toplu işlemleri birleştirdikten sonra her zaman yinelenenleri kaldırın.
drop_duplicates(subset=[id])
Kararlı bir benzersiz anahtar (çoğu zaman id) kullanarak drop_duplicates(subset=...) uygulayın. Bu işlem, diğer alanlar biraz değişmiş olsa bile tekrarları kaldırır.
keep="last", her id'nin en güncel sürümünü korur.
df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")Kaydetme ve Birleştirme Yardımcısı
Parçaları birleştirin: varsa mevcut Parquet'i yükleyin, yeni toplu işlemi concat ile birleştirin, id'ye göre yinelenenleri kaldırın ve yeniden kaydedin. Tekrar tekrar çalıştırmak güvenlidir.
import os
import pandas as pd
def save_merge(new_df, path="data.parquet", key="id"):
if os.path.exists(path):
old = pd.read_parquet(path)
new_df = pd.concat([old, new_df], ignore_index=True)
new_df = new_df.drop_duplicates(subset=[key], keep="last")
new_df.to_parquet(path, index=False)
return new_dfHızlı Kontrol: Biçim Seçimi
Model eğitimi için büyük bir veri kümesini tekrar tekrar yüklüyor ve veri türlerinin korunmasını ve hızlı okumaları istiyorsunuz.
Özet: Verileri Verimli Biçimde Saklama
Toplanan verileri artık etkili biçimde kalıcı olarak saklayabilirsiniz:
pd.DataFrame, JSON kayıtlarını tabloya dönüştürmek için- Taşınabilir metin için
to_csv(index=False), hızlı ve türleri koruyan depolama içinto_parquet - Toplu işlemler için
pd.concat(ignore_index=True)veya CSV ekleme modu - Satırları benzersiz tutmak için
drop_duplicates(subset=["id"])
Sıradaki konu: gerçek herkese açık veri API'leriyle çalışma.
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 53
- Dersler
- 225
Sıkça Sorulan Sorular
“Toplanan Verileri Verimli Biçimde Depolama” dersi ücretsiz mi?
Evet — “Toplanan Verileri Verimli Biçimde Depolama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Toplanan Verileri Verimli Biçimde Depolama” dersinde ne öğreneceğim?
CSV/JSON/Parquet'e kaydetme, güvenli biçimde ekleme, yinelenenleri kaldırma ve artımlı toplama. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Toplanan Verileri Verimli Biçimde Depolama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Veri Toplama İçin REST API Temelleri
- Sayfalandırma ve Büyük Veri Kümelerini Toplama
- Toplanan Verileri Verimli Biçimde Depolama
- Herkese Açık Veri API'leriyle Çalışma