如何从 pyarrow 或 pandas 加载 modin 数据帧

gal*_*den 5 pyarrow modin

由于 Modin 不支持从 s3 上的多个 pyarrow 文件加载,因此我使用 pyarrow 加载数据。


    import s3fs
    import modin.pandas as pd
    from pyarrow import parquet
    
    s3 = s3fs.S3FileSystem(
        key=aws_key,
        secret=aws_secret
    )

    table = parquet.ParquetDataset(
        path_or_paths="s3://bucket/path", 
        filesystem=s3,
    ).read(
        columns=["hotelId", "startDate", "endDate"]
    )

    # to get a pandas df the next step would be table.to_pandas()

Run Code Online (Sandbox Code Playgroud)

如果我知道想要将数据放入 Modin df 中进行并行计算,而不必写入 csv 或从 csv 中读取数据?有没有办法直接从 pyarrow.Table 或至少从 pandas 数据帧构建 Modin df ?

小智 0

您无法直接从 a 构造 Modin 数据帧pyarrow.Table,因为 pandas 不支持这一点,并且 Modin 仅支持 pandas API 的子集。但是,该表有一个方法可以将其转换为 pandas 数据框,您可以从中构造 Modin 数据框。从您的代码中使用table

import modin.pandas as pd
modin_dataframe = pd.Dataframe(table.to_pandas())
Run Code Online (Sandbox Code Playgroud)