Quelle est la différence entre enregistrer une base de données pandas à pickle et à csv?

j'apprends les pandas de python. Je vois un tutoriel qui montre deux façons d'enregistrer une pandas dataframe.

  1. pd.to_csv('sub.csv') et d'ouvrir pd.read_csv('sub.csv')

  2. pd.to_pickle('sub.pkl') et pour ouvrir pd.read_pickle('sub.pkl')

le tutoriel dit to_pickle est de sauvegarder la base de données sur disque. Je suis confus au sujet de cette. Parce que quand j'utilise to_csv , j'ai vu un fichier csv apparaît dans le dossier, que je suppose est également sauvegarder sur le disque à droite?

en général, pourquoi voulons-nous sauvegarder une base de données en utilisant to_pickle plutôt que de la sauvegarder dans csv ou txt ou un autre format?

4
demandé sur KevinKim 2018-02-13 18:46:41

1 réponses

Pickle est une façon sérialisée de stocker une base de données Pandas. Vous écrivez essentiellement la représentation exacte de votre dataframe sur disque. Cela signifie que les types de colonnes sont les mêmes et l'indice est le même. Si vous enregistrez un fichier au format csv vous stockez simplement comme une liste séparée par des virgules. Selon votre jeu de données, certaines informations seront perdues lorsque vous les rechargerez.

https://docs.python.org/3/library/pickle.html

6
répondu Gabriel A 2018-02-13 15:50:55