Pandasでデータの読み書きをした時に処理が重い、「時間がかかる、あれ?メモリーエラーになって保存できない」なんてことがあります。
これはかなり重いデータを扱いマシンスペックよりオーバーした処理をかけた時に発生しますが、できれば今のマシーンを利用して処理したいのでpickleが登場します。
pickleはバイナリデータで保存や読み込みを行うことができるため省メモリー高速で処理がでくますので大量データを扱うのに向いています。本記事ではpickleの利用法について解説いたします。
目次
PandasのPickleのコード比較
Pandasのコードの後にPickleを書くことで直感で理解できるようにします。
まずは必要ライブラリをインポートします。
imort pandas as pd
import pickle
保存方法
pandasだと保存方法は下記
df.to_csv(path名を記載)
Pickleだと保存方法は下記
with open(path名を記載,mode="wb") as f:
dump(df,f)
コマンドも1行で終わるので簡単です。
読み込み方法
pandasだと保存方法は下記
df.read_csv(path名を記載)
Pickleだと保存方法は下記
with open(path,mode="rb") as f:
df = pickel.load(f)
最後に
たったこれだけですが覚えているとメモリーエラー対策やスピードUPにつながりますので有効です。特に自然言語処理や機械学習時に使うケースが多いと思いますのでお役立てくださいませ。
公式サイトのリンクを貼っておきます。
pickle — Python オブジェクトの直列化
ソースコード: Lib/pickle.py pickle モジュールは Python オブジェクトの直列化および直列化されたオブジェクトの復元のためのバイナリプロトコルを実装しています。”Pick…
最後に私がPythonの勉強をして入門者から中級者までにこの本1冊あれば習得できるおすすめ本記事も書いております【本1冊で】Python入門から中級までなれるおすすめ本ご興味がある方は御覧くださいませ。
コメント