使用IO tools in pandas可以将DataFrame
转换为内存中的特征缓冲区:
import pandas as pd
from io import BytesIO
df = pd.DataFrame({'a': [1,2], 'b': [3.0,4.0]})
buf = BytesIO()
df.to_feather(buf)
但是,使用相同的缓冲区转换回数据帧
^{pr2}$导致错误:
ArrowInvalid: Not a feather file
如何将数据帧转换为内存中的特征表示,并相应地转换回数据帧?
提前感谢您的考虑和回应。在
使用
pandas==0.25.2
可以通过以下方式实现:然后调用
^{pr2}$output.head(2)
返回:如果您有一个包含多个索引的
^{bq}$DataFrame
,您可能会看到如下错误在这种情况下,您需要在
to_feather
之前调用.reset_index()
,在read_feather
之后调用.set_index([...])
我想补充的最后一件事是,如果您正在使用
BytesIO
执行某些操作,则需要在写入特征字节之后返回到0。例如:相关问题 更多 >
编程相关推荐