You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

嵌套DataFrame保存后重新读取的可访问性及合适存储格式咨询

关于嵌套DataFrame保存与读取的问题解答

问题1:导出嵌套DataFrame到CSV后重新读取,能否访问内部DataFrame?

不能。CSV是纯文本格式,当你将包含内部DataFrame的嵌套DataFrame导出为CSV时,单元格里的内部DataFrame会被强制转换成字符串形式(比如显示为类似<pandas.core.frame.DataFrame object at 0x...>或者DataFrame的文本描述)。重新读取CSV文件后,这些单元格内容只是普通字符串,不再是可操作的DataFrame对象,无法直接调用DataFrame的方法或访问其数据。

问题2:哪种格式能保存嵌套DataFrame并在重新打开后保留内部DataFrame?

以下几种格式可以完整保留嵌套DataFrame的结构,重新读取后仍能直接访问内部DataFrame:

  • Pickle:Python原生序列化格式,pandas原生支持,读写简单
    # 保存
    df.to_pickle("nested_df.pkl")
    # 读取
    loaded_df = pd.read_pickle("nested_df.pkl")
    # 访问内部DataFrame
    inner_df = loaded_df.iloc[0, 0]
    
  • Feather:轻量级二进制格式,专为Pandas和R设计,读写速度快,支持复杂嵌套结构
    # 保存
    df.to_feather("nested_df.feather")
    # 读取
    loaded_df = pd.read_feather("nested_df.feather")
    
  • Parquet:列式存储的二进制格式,适合大数据场景,压缩率高,支持嵌套数据
    # 保存
    df.to_parquet("nested_df.parquet")
    # 读取
    loaded_df = pd.read_parquet("nested_df.parquet")
    
  • HDF5:适合存储大型数据集的分层格式,支持增量写入
    # 保存
    df.to_hdf("nested_df.h5", key="data")
    # 读取
    loaded_df = pd.read_hdf("nested_df.h5", key="data")
    

注意:Pickle格式仅适用于Python生态,跨语言兼容性差;Feather、Parquet和HDF5则有更好的跨语言支持(比如Parquet可被Spark、R等工具读取)。

内容的提问来源于stack exchange,提问作者NFeruch - FreePalestine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:39:09