Pandas組み込みメソッドまたはpickle.dump
を使用して、どちらが良いですか?
標準の酸洗い方法は次のようになります。
pickle.dump(my_dataframe, open('test_pickle.p', 'wb'))
Pandas組み込みメソッドは次のようになります:
my_dataframe.to_pickle('test_pickle.p')
@qwwqwwqのおかげで、pandasにはデータフレーム用のto_pickle
メソッドが組み込まれていることがわかりました。QuickTimeテストを行いました。
In [1]: %timeit pickle.dump(df, open('test_pickle.p', 'wb'))
10 loops, best of 3: 91.8 ms per loop
In [2]: %timeit df.to_pickle('testpickle.p')
10 loops, best of 3: 88 ms per loop
したがって、ビルトインの方がわずかに優れているようです(私にとって、これは、ビルトインを使用するためにコードをリファクタリングする価値がないことを意味するため、便利です)-これが誰かに役立つことを願っています!
簡単なベンチマークですね。
まったく違いはありません。実際、Pandasは getstate を実装しているので、 pickle.dump(df)
は、実際にはdf.to_pickle()
を呼び出すのと同じです。
Pandasソースコードで__getstate__
を検索すると、 複数のオブジェクトに実装されている が見つかります。