14、数据处理工具:Dask、Modin、Spark与Ray的深度解析

数据处理工具:Dask、Modin、Spark与Ray的深度解析

1. Dask自动分区与并行操作

在数据处理中,通常需要指定分区数量或具体的划分方式,但Dask的 repartition 函数可以根据目标大小自动选择分区。不过,这一操作成本较高,因为Dask需要评估DataFrame以及重新分区本身。以下是一个示例:

reparted = indexed.repartition(partition_size="20kb")

Dask的 set_index 也有类似的 partition_size 参数,但截至目前,该参数不起作用。

Dask的 map_partitions 函数可将一个函数应用于pandas DataFrame的每个分区,结果也是一个pandas DataFrame。使用 map_partitions 实现的函数是高度并行的,因为它们不需要在工作节点之间进行数据传输。例如,我们可以实现一个填充缺失值的函数:

def fillna(df):
    return df.fillna(value={"PostCode": "UNKNOWN"}).fillna(value=0)

new_df = df.map_partitions(fillna)
# Since there could be an NA in the index clear
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值