如何在不设置Hadoop或Spark等集群计算基础架构的情况下,将适当大小的Parquet数据集读入内存中的Pandas DataFrame?这只是我想在笔记本电脑上用简单的Python脚本在内存中读取的适量数据.数据不驻留在HDFS上.它可以在本地文件系统上,也可以在S3中.我不想启动并配置其他服务,如Hadoop,Hive或Spark.
我认为Blaze/Odo会使这成为可能:Odo文档提到了Parquet,但是这些示例似乎都要通过外部Hive运行时.
嗨,我正在尝试将我的 df 转换为二进制并将其存储在一个变量中。
我的_df:
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
Run Code Online (Sandbox Code Playgroud)
我的代码:
import io
towrite = io.BytesIO()
df.to_excel(towrite) # write to BytesIO buffer
towrite.seek(0) # reset pointer
Run Code Online (Sandbox Code Playgroud)
我正进入(状态 AttributeError: '_io.BytesIO' object has no attribute 'write_cells'
完整追溯:
AttributeError Traceback (most recent call last)
<ipython-input-25-be6ee9d9ede6> in <module>()
1 towrite = io.BytesIO()
----> 2 df.to_excel(towrite) # write to BytesIO buffer
3 towrite.seek(0) # reset pointer
4 encoded = base64.b64encode(towrite.read()) #
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in to_excel(self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, encoding, inf_rep, …Run Code Online (Sandbox Code Playgroud)