dask_expr._collection.map_分区
dask_expr._collection.map_分区¶
- dask_expr._collection.map_partitions(func, *args, meta=_NoDefault.no_default, enforce_metadata=True, transform_divisions=True, clear_divisions=False, align_dataframes=False, parent_meta=None, **kwargs)[源代码]¶
在每个 DataFrame 分区上应用 Python 函数。
- 参数
- 函数函数
应用于每个分区的函数。
- args, kwargs
传递给函数的参数和关键字参数。至少有一个参数应该是 Dask.dataframe。参数和关键字参数可能包含
Scalar
、Delayed
或常规的 Python 对象。类似 DataFrame 的参数(包括 Dask 和 pandas)将在应用函数之前重新分区以对齐(如果必要)(参见align_dataframes
以控制)。- 强制元数据bool, 默认 True
是否在运行时强制要求
func
生成的 DataFrame 结构实际上与meta
的结构匹配。这将重命名和重新排序每个分区的列,如果无法执行此操作,则会引发错误,但如果 dtypes 不匹配,则不会引发错误。- transform_divisionsbool, 默认 True
是否将函数应用于分区,并将这些转换后的分区应用于输出。
- 对齐数据框bool, 默认 True
是否重新分区 DataFrame 或 Series 类参数(包括 dask 和 pandas),以便在应用函数之前它们的分区对齐。这要求所有输入都有已知的分区。单分区输入将被拆分为多个分区。
如果为 False,所有输入必须具有相同数量的分区或单个分区。单分区输入将被广播到多分区输入的每个分区。
- metapd.DataFrame, pd.Series, dict, iterable, tuple, optional
一个空的
pd.DataFrame
或pd.Series
,其数据类型和列名与输出匹配。此元数据对于 dask dataframe 中的许多算法正常工作是必要的。为了便于使用,还提供了一些替代输入。除了DataFrame
之外,还可以提供{name: dtype}
的字典或(name, dtype)
的可迭代对象(注意名称的顺序应与列的顺序匹配)。除了系列之外,还可以使用(name, dtype)
的元组。如果未提供,dask 将尝试推断元数据。这可能会导致意外结果,因此建议提供meta
。有关更多信息,请参阅dask.dataframe.utils.make_meta
。