DataFrameMaker¶
- class torchdata.datapipes.iter.DataFrameMaker(source_dp: IterDataPipe[T_co], dataframe_size: int = 1000, dtype=None, dtype_generator=None, columns: Optional[List[str]] = None, device: str = '')¶
获取数据行,将一定数量的行批处理在一起,并创建 TorchArrow DataFrame(函数名称:
dataframe
)。注意
在 DataFrame 中拥有大量行与内存使用之间存在权衡。请谨慎选择值。
- 参数:
source_dp – 包含数据行的 IterDataPipe
dataframe_size – 每个 DataFrame 中的数据行数,页面大小可以是选项
dtype – 指定 DataFrame 的 TorchArrow 数据类型,使用
torcharrow.dtypes.DType
dtype_generator – 没有输入参数的函数,生成一个 torcharrow.dtypes.DType,如果同时给出两者,则会覆盖 dtype。当所需的 dtype 不可序列化时,这很有用。
columns – 指定 DataFrame 列名的 str 列表
device – 指定将 DataFrame 存储到的设备
示例
>>> from torchdata.datapipes.iter import IterableWrapper >>> import torcharrow.dtypes as dt >>> source_data = [(i,) for i in range(3)] >>> source_dp = IterableWrapper(source_data) >>> DTYPE = dt.Struct([dt.Field("Values", dt.int32)]) >>> df_dp = source_dp.dataframe(dtype=DTYPE) >>> list(df_dp)[0] index Values ------- -------- 0 0 1 1 2 2 dtype: Struct([Field('Values', int32)]), count: 3, null_count: 0