web-dev-qa-db-fra.com

Quelle est la différence entre enregistrer un pandas dataframe sur pickle et sur csv?

J'apprends python pandas. Je vois un tutoriel qui montre deux façons d'enregistrer un pandas dataframe.

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

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

Le didacticiel indique to_pickle consiste à enregistrer la trame de données sur le disque. Je suis confus à ce sujet. Parce que quand j'utilise to_csv, J'ai vu un fichier csv apparaître dans le dossier, ce qui, je suppose, est également enregistré sur le disque, n'est-ce pas?

En général, pourquoi nous voulons enregistrer une trame de données en utilisant to_pickle plutôt que de l'enregistrer au format csv, txt ou autre?

9
KevinKim

Pickle est un moyen sérialisé de stocker un Pandas dataframe. Vous écrivez essentiellement la représentation exacte de votre dataframe sur le disque. Cela signifie que les types des colonnes sont les mêmes et que l'index est le même . Si vous enregistrez simplement un fichier au format csv, vous le stockez simplement en tant que liste séparée par des virgules. En fonction de votre ensemble de données, certaines informations seront perdues lorsque vous le rechargerez.

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

14
Gabriel A