[英]Storing Pandas dataframe in working memory
有沒有辦法拿一個 dataframe,比如說,
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6]})
並將其作為二進制 object 存儲在 temp memory 中,然后可以使用
open(df, 'rb')
那么,與其做類似的事情
open('/home/user/data.csv', 'rb')
代碼是
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6]})
df_rb = *command to store in temp working memory as binary readable*
open(df_rb, 'rb')
您可以將其腌制到 memory中的 io.BytesIO object
import pandas as pd
import pickle, io
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6]})
f = io.BytesIO()
pickle.dump(df,f)
f.seek(0) # necessary to start reading at the beginning of the "file"
dg = pickle.load(f)
In [48]: dg==df
Out[48]:
a b
0 True True
1 True True
2 True True
Pandas 有df.to_pickle()
方法:
從文檔:
Pickle(序列化)object 到文件。
df.to_pickle("./dummy.pkl")
然后使用read_pickle()
閱讀這個腌制的 df
從文檔:
從文件中加載腌制的 pandas object(或任何對象)。
unpickled_df = pd.read_pickle("./dummy.pkl")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.