【Pandas】pandas Series to_pickle

发布于:2025-03-26 ⋅ 阅读:(25) ⋅ 点赞:(0)

Pandas2.2 Series

Serialization & IO & conversion

方法 描述
Series.to_pickle(path, *[, compression, …]) 用于将 Series 对象序列化为二进制格式并保存到文件中

pandas.Series.to_pickle

pandas.Series.to_pickle 方法用于将 Series 对象序列化为二进制格式并保存到文件中。这种格式可以高效地存储和读取数据,特别适用于需要快速加载和保存大型数据集的场景。

参数说明
  • path:字符串或类似文件的对象,指定保存文件的路径或文件对象。
  • compression:可选,字符串,指定压缩方法。可选值包括 'infer''gzip''bz2''zip''xz'None。默认为 'infer',根据文件扩展名自动推断压缩方法。
  • protocol:可选,整数,指定 pickle 协议版本。默认为 5
  • storage_options:可选,字典,指定存储选项,用于远程文件系统(如 S3)。
示例
import pandas as pd

# 创建一个示例 Series
data = pd.Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])

# 将 Series 保存为 pickle 文件
data.to_pickle('data.pkl')

# 使用 gzip 压缩保存
data.to_pickle('data_compressed.pkl', compression='gzip')

# 读取 pickle 文件
loaded_data = pd.read_pickle('data.pkl')
print("Loaded Data:\n", loaded_data)

# 读取压缩的 pickle 文件
loaded_compressed_data = pd.read_pickle('data_compressed.pkl', compression='gzip')
print("Loaded Compressed Data:\n", loaded_compressed_data)
结果
Loaded Data:
 A    10
B    20 
C    30 
D    40
E    50
dtype: int64
Loaded Compressed Data:
 A    10
B    20
C    30
D    40
E    50
dtype: int64
  1. 保存为 pickle 文件

    • 文件路径:data.pkl
    • 数据内容:Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
    • 压缩方法:无
  2. 使用 gzip 压缩保存

    • 文件路径:data_compressed.pkl
    • 数据内容:Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
    • 压缩方法:gzip
  3. 读取 pickle 文件

    • 文件路径:data.pkl
    • 加载的数据:Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
  4. 读取压缩的 pickle 文件

    • 文件路径:data_compressed.pkl
    • 加载的数据:Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])

通过这些示例,可以看到 pandas.Series.to_pickle 方法如何将 Series 对象保存为二进制文件,并支持不同的压缩方法以节省存储空间。读取时可以使用 pd.read_pickle 方法恢复数据。