dask.dataframe.DataFrame.shuffle
dask.dataframe.DataFrame.shuffle¶
- DataFrame.shuffle(on, npartitions=None, max_branch=None, shuffle_method=None, ignore_index=False, compute=None)¶
将 DataFrame 重新排列为新的分区
使用 on 的哈希值将行映射到输出分区。在此操作之后,具有相同 on 值的行将在同一分区中。
- 参数
- 开字符串、字符串列表,或 Series、Index、DataFrame
用于将行映射到输出分区的列或索引
- npartitionsint, 可选
输出分区的数量。默认情况下,分区数量不会被改变。
- max_branch: int, 可选
每个输入分区允许的最大分割次数。用于分阶段洗牌算法中。
- shuffle_method: {‘disk’, ‘tasks’, ‘p2p’}, 可选
可以是
'disk'
用于单节点操作,或者是'tasks'
和'p2p'
用于分布式操作。将由您当前的调度器推断。- ignore_index: bool, 默认为 False
在洗牌期间忽略索引。如果
True
,性能可能会提高,但索引值将不会被保留。- compute: bool
是否触发立即计算。默认为 False。
注释
这不会保留有意义的索引/分区方案。如果在并行处理中这样做,这不是确定性的。
示例
>>> df = df.shuffle(df.columns[0])