[PYTHON] [Erklärung mit Bild] Verwenden Sie Pickle mit Kaggles NoteBook

Dinge die zu tun sind

  1. Wählen Sie den Datensatz der CSV-Datei aus
  2. Lesen Sie die Pickle-Datei in einem anderen Notizbuch

Was ist Gurke?

Derjenige, der Python-Objekte als Binärdaten speichert https://docs.python.org/ja/3/library/pickle.html

Worüber freust du dich?

Das Laden ist schnell Da es sich um Binärdaten handelt, ist die Analyseverarbeitung schnell, da sie nicht durchgeführt werden muss. Geschulte Modelle können eingelegt und wiederverwendet werden

Dieser Verifizierungsartikel ist wunderbar Python: Ich habe das Persistenzformat von Pandas untersucht

Versuchen Sie es mit Titanic-Daten

Machen Sie train.csv vorerst Gurke Dies ist der einzige Code

#pickle ist eine Standardbibliothek, daher ist keine Installation erforderlich
import pickle

import pandas as pd


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

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

Als Datensatz speichern

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

Wenn oben links das grüne Vervollständigen angezeigt wird, klicken Sie auf Version öffnen. スクリーンショット 2019-12-09 3.17.42.png

Scrollen Sie zur Spalte Ausgabe スクリーンショット 2019-12-09 3.18.37.png

Wenn Sie train.pickle bestätigen können, New Dataset スクリーンショット 2019-12-09 3.19.07.png

Geben Sie Ihren bevorzugten Dataset-Titel ein und erstellen Sie ihn スクリーンショット 2019-12-09 3.20.36.png

Datensatz ist abgeschlossen スクリーンショット 2019-12-09 3.21.08.png

Bringen Sie es zu einem anderen Notizbuch

Wenn Sie ein neues Notizbuch erstellen + Daten hinzufügen スクリーンショット 2019-12-09 3.44.17.png

Filtern Sie nach Ihren Datensätzen スクリーンショット 2019-12-09 3.44.44.png

Fügen Sie die gerade erstellte hinzu スクリーンショット 2019-12-09 3.45.11.png

Gewinnen Sie, wenn hier angezeigt スクリーンショット 2019-12-09 3.46.31.png

Lass uns lesen

Dies ist der einzige Code

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

Es wird ordnungsgemäß als DataFrame geladen.

train.shape

# (891, 12)

Bitte beachten Sie, dass der Verzeichnisname von dem auf der rechten Seite des Bildschirms angezeigten abweichen kann. `https: // www.kaggle.com / anata-no-namae / Datensatz-no-namae` <- Diese Notation wird zum Verzeichnisnamen Wenn Sie mit dem Befehl `ls` nachsehen, können Sie sehen, dass der Verzeichnisname` -`pear lautet.
!ls ../input

# titanicdatasetpickles

Kann abgelegt werden

Verwenden wir den Dump-Prozess

dump_pickles.py



import pickle

import pandas as pd


#Wechseln Sie den Pfad zwischen Kaggle und einer anderen Umgebung
if '/kaggle/working' in _dh:
    input_path = '../input'
else:
    input_path = './input'

#Schreiben Sie hier nur für jeden Wettbewerb neu
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)

Sie können das gleiche mit Pandas tun

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

#so was
train.to_pickle('./train.pickle')
#das ist
with open('../input/titanicdatasetpickles/train.pickle', 'rb') as f:
    df_ss = pickle.load(f)

#so was
train = pd.read_pickle('../input/titanicdatasetpickles/train.pickle')

Manchmal bekomme ich diesen Fehler

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

Es scheint ein Problem mit der Version von Pandas zu sein

pip install -U pandas

Gelöst von

Ich wurde durch diesen Artikel gerettet Inkonsistenz zwischen Gurke und Pandas

Das Ende

Vielen Dank für das Lesen bis zum Ende

Recommended Posts

[Erklärung mit Bild] Verwenden Sie Pickle mit Kaggles NoteBook
Verwenden Sie pip mit Jupyter Notebook
Verwenden Sie Cython mit Jupyter Notebook
Verwenden von Bokeh mit IPython Notebook
Markdown mit Jupyter-Notebook verwenden (mit Verknüpfung)
Verwenden von Apache Spark mit Jupyter Notebook (IPython Notebook)
Verwenden Sie Jupyter Lab und Jupyter Notebook mit EC2
Verwenden Sie die Verschlüsselung der Verschlüsselungsbibliothek mit dem Python-Image von Docker
Verwendung des Jupyter-Notebooks mit ABCI
Spielen Sie mit Kubeflow v0.71 mit einem benutzerdefinierten Bildnotizbuch
Verwenden Sie mecab-ipadic-neologd mit igo-python
Bildverarbeitung mit MyHDL
Verwenden Sie ansible mit cygwin
Verwenden Sie pipdeptree mit virtualenv
[Python] Verwenden Sie JSON mit Python
Verwenden Sie Mock mit Pytest
Verwenden Sie den Indikator mit pd.merge
Bilderkennung mit Keras
Verwenden Sie Gentelella mit Django
Verwenden Sie Mecab mit Python 3
Verwenden Sie Tensorboard mit Chainer
Verwenden Sie DynamoDB mit Python
Verwenden Sie pip mit MSYS2
Verwenden Sie Python 3.8 mit Anaconda
Verwenden Sie Copyright mit Spacemacs
Verwenden Sie Python mit Docker
Verwenden Sie TypeScript mit Django-Kompressor
Bildverarbeitung mit Python
Verwenden Sie WENIGER mit Django
Verwenden Sie MySQL mit Django
Verwenden Sie Enum mit SQLAlchemy
Verwenden Sie Tensorboard mit NNabla
Verwenden Sie GPS mit Edison
Verwenden Sie nim mit Jupyter
Bildverarbeitung mit PIL
Ich möchte R-Funktionen einfach mit ipython notebook verwenden
Ich möchte eine virtuelle Umgebung mit Jupyter Notebook verwenden!