簡體   English   中英

將pandas DataFrame寫入內存緩沖區中的HDF

[英]Write pandas DataFrame to HDF in memory buffer

我想在內存中將數據幀作為hdf。 下面的代碼導致“AttributeError:'_ it.BytesIO'對象沒有屬性'put'”。 我使用的是python 3.5和pandas 0.17

import pandas as pd
import numpy as np
import io

df = pd.DataFrame(np.arange(8).reshape(-1, 2), columns=['a', 'b'])
buf = io.BytesIO()
df.to_hdf(buf, 'some_key')

更新:由於UpSampler指出“path_or_buf”不能是io流(我覺得這很混亂,因為buf通常可以是io流,請參閱to_csv )。 除了寫入磁盤並重新讀取之外,我可以在內存中獲取數據幀作為hdf嗎?

您對df.to_hdf()的第一個參數必須是“路徑(字符串)或HDFStore對象”而不是io流。 文檔: http//pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.DataFrame.to_hdf.html

試試吧

df = pd.DataFrame(np.arange(8).reshape(-1, 2), columns=['a', 'b'])
df.to_hdf(path_or_buf='path\to\your\file')

請參閱pandas.DataFrame.to_hdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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