[PYTHON] [Explication avec image] Utilisez pickle avec le carnet de notes de Kaggle

Choses à faire

  1. Pickle l'ensemble de données du fichier csv
  2. Lisez le fichier pickle dans un autre notebook

Qu'est-ce que le cornichon?

Celui qui enregistre les objets python en tant que données binaires https://docs.python.org/ja/3/library/pickle.html

De quoi êtes-vous heureux?

Le chargement est rapide Comme il s'agit de données binaires, le traitement d'analyse est rapide car il n'a pas besoin d'être Les modèles formés peuvent également être décapés et réutilisés

Cet article de vérification est merveilleux Python: j'ai étudié le format de persistance des pandas

Essayez avec les données du Titanic

Rendre train.csv pickle pour le moment C'est le seul code

#pickle est une bibliothèque standard donc aucune installation requise
import pickle

import pandas as pd


train = pd.read_csv('../input/titanic/train.csv')

# 'wb'(write binary)Spécifier
with open('train.pickle', 'wb') as f:
    pickle.dump(train, f)

Enregistrer en tant que jeu de données

Premier engagement スクリーンショット 2019-12-09 3.16.06.png

Lorsque le vert Complet apparaît en haut à gauche, cliquez sur Ouvrir la version. スクリーンショット 2019-12-09 3.17.42.png

Faites défiler jusqu'à la colonne Sortie スクリーンショット 2019-12-09 3.18.37.png

Si vous pouvez confirmer train.pickle, Nouvel ensemble de données スクリーンショット 2019-12-09 3.19.07.png

Entrez le titre de votre jeu de données préféré et créez スクリーンショット 2019-12-09 3.20.36.png

L'ensemble de données est terminé スクリーンショット 2019-12-09 3.21.08.png

Apportez-le à un autre ordinateur portable

Si vous créez un nouveau bloc-notes + Ajouter des données スクリーンショット 2019-12-09 3.44.17.png

Filtrer par vos ensembles de données スクリーンショット 2019-12-09 3.44.44.png

Ajoutez celui que vous venez de créer スクリーンショット 2019-12-09 3.45.11.png

Gagnez si affiché ici スクリーンショット 2019-12-09 3.46.31.png

Lisons

C'est le seul code

# 'rb'(read binary)Spécifier
with open('../input/titanicdatasetpickles/train.pickle', 'rb') as f:
    train = pickle.load(f)

Il est correctement chargé en tant que DataFrame.

train.shape

# (891, 12)

Veuillez noter que le nom du répertoire peut différer de celui affiché sur le côté droit de l'écran. `https: // www.kaggle.com / anata-no-namae / data-set-no-namae` <-Cette notation devient le nom du répertoire Si vous vérifiez avec la commande `ls`, vous pouvez voir que le nom du répertoire est` -`pear.
!ls ../input

# titanicdatasetpickles

Peut être déposé

Utilisons le processus de vidage

dump_pickles.py



import pickle

import pandas as pd


#Basculer entre Kaggle et un autre environnement
if '/kaggle/working' in _dh:
    input_path = '../input'
else:
    input_path = './input'

#Réécrire uniquement ici pour chaque compétition
data_sets = {
    'train': f'{input_path}/titanic/train.csv',
    'test': f'{input_path}/titanic/test.csv',
    'gender_submission': f'{input_path}/titanic/gender_submission.csv'
}

for name, path in data_sets.items():
    df = pd.read_csv(path)
    with open(f'{name}.pickle', 'wb') as f:
        pickle.dump(df, f)

Vous pouvez faire de même avec les pandas

#c'est
with open('./train.pickle', 'wb') as f:
    pickle.dump(train, f)

#comme ça
train.to_pickle('./train.pickle')
#c'est
with open('../input/titanicdatasetpickles/train.pickle', 'rb') as f:
    df_ss = pickle.load(f)

#comme ça
train = pd.read_pickle('../input/titanicdatasetpickles/train.pickle')

Parfois, j'obtiens cette erreur

ModuleNotFoundError: No module named 'pandas.core.internals.managers'; 'pandas.core.internals' is not a package

Cela semble être un problème avec la version des pandas

pip install -U pandas

Résolu par

J'ai été sauvé par cet article Incohérence entre cornichon et pandas

La fin

Merci d'avoir lu jusqu'au bout

Recommended Posts

[Explication avec image] Utilisez pickle avec le carnet de notes de Kaggle
Utiliser pip avec Jupyter Notebook
Utiliser Cython avec Jupyter Notebook
Utilisation de Bokeh avec IPython Notebook
Utiliser Markdown avec le notebook Jupyter (avec raccourci)
Utilisation d'Apache Spark avec le notebook Jupyter (notebook IPython)
Utiliser Jupyter Lab et Jupyter Notebook avec EC2
Utiliser le chiffrement de la bibliothèque de chiffrement avec l'image Python de Docker
Comment utiliser le notebook Jupyter avec ABCI
Jouez avec un carnet d'images personnalisé avec Kubeflow v0.71
Utilisez mecab-ipadic-neologd avec igo-python
Traitement d'image avec MyHDL
Utiliser ansible avec cygwin
Utiliser pipdeptree avec virtualenv
[Python] Utiliser JSON avec Python
Utilisez Mock avec pytest
Utiliser l'indicateur avec pd.merge
Reconnaissance d'image avec keras
Utiliser Gentelella avec Django
Utiliser mecab avec Python 3
Utiliser tensorboard avec Chainer
Utiliser DynamoDB avec Python
Utiliser pip avec MSYS2
Utilisez Python 3.8 avec Anaconda
Utiliser les droits d'auteur avec Spacemacs
Utiliser python avec docker
Utiliser TypeScript avec django-compresseur
Traitement d'image avec Python
Utilisez LESS avec Django
Utiliser MySQL avec Django
Utiliser Enum avec SQLAlchemy
Utiliser tensorboard avec NNabla
Utiliser le GPS avec Edison
Utilisez nim avec Jupyter
Traitement d'image avec PIL
Je souhaite utiliser facilement les fonctions R avec le notebook ipython
Je souhaite utiliser un environnement virtuel avec jupyter notebook!