pickle

投稿者: | 2023-05-20

目次

参考

pickle

  • Pythonオブジェクトをバイト列に変換(シリアライズ化、pickle化)
  • バイト列からPythonオブジェクトに変換(デシリアライズ化、非pickle化)
  • たとえば、DataFrame上で列の型を指定したとしても、CSVで保存して開くとき、再度型指定をしなければならず面倒
  • pickleで保存後、pickleを開いても型は保持された状態で便利
  • 作業を一時中断するためにオブジェクトの状態を保存しておきたい場合などにも、特に何も考える必要がないpickleファイルは便利。
  • さらに、CSVなどに比べて処理速度が速いというメリットもある

保存 to_pickle()

df.to_pickle('sample.pkl')

読み込み read_pickle()

from_pkl = pd.read_pickle('sample.pkl')

pickleのDFの列を並び替える

import pathlib
import pandas as pd

p = pathlib.Path(r"C:\Users\~~~\Desktop\test")

for p_f in list(p.glob('*.pkl')):
  print(f'読み込み中:{p_f.name}')
  df = pd.read_pickle(p_f)
  print(f'並べ替え中:{p_f.name}')
  df = df.sort_values('列名').reset_index(drop=True)
  print(f'上書き中...')
  df.to_pickle(p_f)
  print(f'完了', '-'*20)