Python pandas.DataFrame.to_parquet函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.to_parquet方法的使用。

DataFrame.to_parquet(**kwargs)     [source]

DataFrame写入二进制拼花格式。

该函数将数据帧作为 parquet file写入。您可以选择不同的parquet后端,并可以选择压缩。有关更多详细信息,请参见 用户指南

参数:

path :strfile-like object

如果是字符串,则在编写分区数据集时将其用作根目录路径。

通过类文件对象,我们使用write()方法来引用对象,

比如文件处理程序(例如通过内置的open函数)或io.BytesIO

引擎fastparquet不接受类文件的对象。

在版本1.0.0中更改。

之前这是"fname"

engine :{‘auto’, ‘pyarrow’, ‘fastparquet’}

默认为‘auto’

Parquet库使用。

如果为‘auto’,则使用该选项 io.parquet.engine

默认io.parquet.engine 行为是尝试使用“pyarrow”

如果“pyarrow”不可用,则退回到“fastparquet”

compression :{‘snappy’, ‘gzip’, ‘brotli’, None}

默认为 ‘snappy’

要使用的压缩名称。无压缩使用None

indexbool, 默认为None

如果为True,则在文件输出中包含dataframe的索引。

如果为False,则不会将它们写入文件。

如果没有,类似于True,将保存dataframe的索引。

然而,RangeIndex不是作为值保存的,

而是作为一个范围存储在元数据中,

因此它不需要太多空间,而且速度更快。

其他索引将作为列包含在文件输出中。

新版本为0.24.0。

partition_colslist, 可选, 默认为 None

要根据其对数据集进行分区的列名。

列按照给定的顺序进行分区。

如果路径不是字符串,

则必须为None

新版本为0.24.0。

**kwargs

附加参数传递到parquet库。

有关更多详细信息,

请参见 pandas io

Notes

此功能需要fastparquetpyarrow库。

例子

>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
>>> df.to_parquet('df.parquet.gzip',
...               compression='gzip')  
>>> pd.read_parquet('df.parquet.gzip')  
   col1  col2
0     1     3
1     2     4

如果要为镶木地板内容获取缓冲区,可以使用io.BytesIO对象,只要不使用partition_cols即可创建多个文件

>>> import io
>>> f = io.BytesIO()
>>> df.to_parquet(f)
>>> f.seek(0)
0
>>> content = f.read()

文档pandas.DataFrame.to_parquet.html

推荐阅读
cjavapy编程之路首页