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

如何高效保存和加载含np.array列的Pandas DataFrame?

保存/加载含np.array列的Pandas DataFrame的最优方式

CSV是纯文本格式,无法原生保留np.array这类复杂数据类型,所以会自动转成字符串存储。以下几种二进制格式可以直接保留数据类型,无需手动转换:

方法1:使用Pickle格式(Python原生序列化)

Pickle是Python专属的序列化格式,能完整保留DataFrame的所有数据类型,操作简单,适合Python环境内的快速存储。

保存代码:

df.to_pickle("./tmp.pkl")

加载代码:

df_from_pkl = pd.read_pickle("./tmp.pkl")
# 验证数据类型
print(type(df_from_pkl["sample"].iloc[0]))  # 输出:<class 'numpy.ndarray'>

方法2:使用HDF5格式

HDF5是高效的二进制格式,支持分块存储和部分加载,适合处理大数据量,同时能保留复杂数据类型。

保存代码:

df.to_hdf("./tmp.h5", key="df", mode="w")

加载代码:

df_from_hdf = pd.read_hdf("./tmp.h5", key="df")

方法3:使用Parquet格式

Parquet是列式存储格式,压缩率高,跨语言兼容性强(支持Python、Java、Scala等),适合跨平台共享数据的场景。

首先需要安装依赖库(二选一):

pip install pyarrow
# 或
pip install fastparquet

保存代码:

df.to_parquet("./tmp.parquet")

加载代码:

df_from_parquet = pd.read_parquet("./tmp.parquet")

内容的提问来源于stack exchange,提问作者esantix

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 22:30:52