Velocizzare l'I/O: Parquet e Feather
Alcuni dei nostri problemi consistono nei dati che leggiamo dalla memoria locale. Le operazioni di lettura-processo-scrittura possono essere comode su set di dati relativamente piccoli, ma quelle azioni per file .csv di grandi dimensioni sono piuttosto ingombranti per noi. Possono essere molto esigenti in termini di tempo e risorse.
Introdurrò due tipi di file che aumenteranno la velocità di lettura-scrittura dei dati e comprimeranno la dimensione dei dati archiviati su disco:
- Parquet
- Piuma
- Accessibile per impostazione predefinita con i Python-Panda. Ma potrebbe essere necessario installare anche pyarrow e alcune estensioni del suo genere a seconda del tipo di dati.
- Supporta la gestione I/O basata su colonne. In questo modo, puoi evitare di utilizzare temporaneamente RAM aggiuntiva durante la lettura di tutti i dati e quindi eliminare le colonne non necessarie.
- Memorizzando i dati in un formato binario nel loro tipo invece che in forma non elaborata, puoi risparmiare fino al 50% nell'archiviazione e ottenere un'accelerazione fino a x100 nelle operazioni di lettura-scrittura.
Parquet
Piuma
Conclusione
È così facile! Consiglio vivamente di utilizzare questi metodi quando non è necessario archiviare i dati in formato raw e ogni utente non ha bisogno di poterlo aprire con Excel in qualsiasi momento! Per quel caso eccezionale, è più logico parallelizzare la lettura e la scrittura dei dati invece di modificare il formato dei dati. Sto anche pensando di affrontare questo scenario in futuro. Spero che questo contenuto ti sia stato utile, penso che sia qualcosa di semplice ma abbastanza efficace.
Sto usando questi metodi nelle competizioni Kaggle e sto ottenendo accelerazioni piuttosto buone. Puoi rivedere un mio codice di esempio qui !

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































