0Pricing
Learn AI with Python · Lezione

Archiviazione efficiente dei dati raccolti

Salvataggio in CSV/JSON/Parquet, aggiunta sicura, deduplicazione e raccolta incrementale.

Archiviazione efficiente dei dati raccolti è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Dalle risposte grezze ai dati salvati

Dopo aver raccolto i dati, è necessario salvarli per poterli ricaricare, condividere e analizzare. Il formato giusto e alcune buone pratiche fanno una grande differenza in termini di velocità e spazio su disco.

Questa lezione tratta CSV, Parquet, l'aggiunta di batch e la deduplicazione.

Da JSON a DataFrame

Le risposte delle API sono solitamente liste di dizionari. pd.DataFrame le trasforma direttamente in una tabella pronta per il salvataggio.

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)

Salvare in CSV con df.to_csv

CSV è un formato universale e leggibile. Salvi con to_csv; passi index=False per evitare che l'indice delle righe venga scritto come colonna estranea.

df.to_csv("data.csv", index=False)

# Reload
df2 = pd.read_csv("data.csv")

Limiti del CSV

Il CSV è comodo, ma presenta alcuni svantaggi per il lavoro con l'IA:

  • Nessun tipo: tutto viene salvato come testo, quindi i dtypes vengono dedotti nuovamente al caricamento
  • File voluminosi, senza compressione per impostazione predefinita
  • Lettura lenta per i dataset di grandi dimensioni

Per dati più grandi o caricati ripetutamente, Parquet è una scelta migliore.

Salvare in Parquet con df.to_parquet

Parquet è un formato binario a colonne. Preserva i dtypes, offre una buona compressione e viene caricato molto più rapidamente del CSV.

Richiede un motore come pyarrow installato.

df.to_parquet("data.parquet", index=False)

df2 = pd.read_parquet("data.parquet")
print(df2.dtypes)   # types preserved, no re-guessing

CSV e Parquet — quale usare e quando

Regole pratiche:

  • CSV: dati piccoli, condivisione con strumenti non Python, ispezione rapida
  • Parquet: dati grandi, caricamenti ripetuti, fedeltà dei tipi, pipeline di analisi

Per i processi di raccolta che alimentano i modelli, preferisca Parquet.

Aggiungere nuovi batch con pd.concat

La raccolta avviene spesso in batch. Combini un DataFrame esistente con uno nuovo utilizzando pd.concat.

ignore_index=True riassegna i numeri dell'indice, mantenendolo ordinato.

new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))

Aggiungere dati direttamente a un file CSV

Per aggiungere dati a un CSV esistente senza caricarlo, lo apra in modalità append e ometta l'intestazione nelle scritture successive.

import os

header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)

Perché eliminare i duplicati

La riesecuzione della raccolta, le pagine sovrapposte o i tentativi ripetuti possono creare righe duplicate. I duplicati gonfiano i conteggi e possono passare da una suddivisione train/test all'altra, peggiorando la valutazione del modello.

Esegua sempre la deduplicazione dopo aver combinato i batch.

drop_duplicates(subset=[id])

Utilizzi una chiave univoca stabile (spesso id) con drop_duplicates(subset=...). In questo modo rimuove le ripetizioni anche se gli altri campi sono cambiati leggermente.

keep="last" conserva la versione più recente di ogni id.

df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")

Un helper per salvare e unire

Unisca i vari passaggi: carichi il file Parquet esistente, se presente, concateni il nuovo batch, elimini i duplicati in base all'id e salvi nuovamente il risultato. Può eseguire questa procedura più volte in sicurezza.

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_df

Verifica rapida: scelta del formato

Carica ripetutamente un dataset di grandi dimensioni per l'addestramento del modello e ha bisogno di conservare i tipi di dati, con letture rapide.

Riepilogo: memorizzare i dati in modo efficiente

Ora sa come rendere persistenti i dati raccolti:

  • pd.DataFrame per trasformare i record JSON in una tabella
  • to_csv(index=False) per il testo portabile, to_parquet per una memorizzazione tipizzata e veloce
  • pd.concat(ignore_index=True) o la modalità di aggiunta dei CSV per i batch
  • drop_duplicates(subset=["id"]) per mantenere uniche le righe

Prossimo argomento: lavorare con API reali di dati pubblici.

Domande Frequenti

La lezione «Archiviazione efficiente dei dati raccolti» è gratuita?

Sì — il testo completo di «Archiviazione efficiente dei dati raccolti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Archiviazione efficiente dei dati raccolti»?

Salvataggio in CSV/JSON/Parquet, aggiunta sicura, deduplicazione e raccolta incrementale. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Archiviazione efficiente dei dati raccolti»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Fondamenti delle API REST per la raccolta dei dati
  2. Paginazione e raccolta di grandi dataset
  3. Archiviazione efficiente dei dati raccolti
  4. Utilizzo delle API pubbliche per i dati
← Torna a Learn AI with Python