簡體   English   中英

在工作 memory 中存儲 Pandas dataframe

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM