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