LoginSignup
2
1

More than 3 years have passed since last update.

DataFrameなどの変数をpickleではなく、joblibで圧縮して読み書きする

Posted at

大規模のDataFrameをpickleで保存というのを良くするのですが、
gitにアップするときにpickleだと容量の関係でpushできないことがありました。
そこで、joblibで圧縮してgitにもデータの管理をすることにしました。

pickleで保存と読み込む場合

save_pickle.py

import pandas as pd
df = pd.DataFrame([1,2,3])
df.to_pickle('df.pickle')
read_pickle.py
import pandas as pd

df = pd.read_pickle('df.pickle')

joblibで保存、読み込む場合はこちら。
compressで圧縮率を変えることができます。
圧縮しすぎると圧縮するにも読み込むにも時間がかかるので、
自分の場合は4が良さそうでした。

save_joblib.py

import pandas as pd
import joblib

df = pd.DataFrame([1,2,3])
joblib.dump(df, 'df.joblib', compress=4)
read_joblib.py
import pandas as pd
import joblib

df = joblib.load('df.joblib')
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1