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
保存为 pickle 文件
- 文件路径:
data.pkl
- 数据内容:
Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
- 压缩方法:无
- 文件路径:
使用 gzip 压缩保存
- 文件路径:
data_compressed.pkl
- 数据内容:
Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
- 压缩方法:gzip
- 文件路径:
读取 pickle 文件
- 文件路径:
data.pkl
- 加载的数据:
Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
- 文件路径:
读取压缩的 pickle 文件
- 文件路径:
data_compressed.pkl
- 加载的数据:
Series([10, 20, 30, 40, 50], index=['A', 'B', 'C', 'D', 'E'])
- 文件路径:
通过这些示例,可以看到 pandas.Series.to_pickle
方法如何将 Series 对象保存为二进制文件,并支持不同的压缩方法以节省存储空间。读取时可以使用 pd.read_pickle
方法恢复数据。