copying#

pylibcudf.copying.MaskAllocationPolicy (掩码分配策略)#

另请参阅 cudf::mask_allocation_policy

枚举成员

  • NEVER

  • RETAIN

  • ALWAYS

pylibcudf.copying.OutOfBoundsPolicy (越界策略)#

另请参阅 cudf::out_of_bounds_policy

枚举成员

  • NULLIFY

  • DONT_CHECK

pylibcudf.copying.allocate_like (按模板分配)(Column input_column, mask_allocation_policy policy, size=None) Column#

分配一个与 input_column 类型相同的列。

详情请参阅 allocate_like()

参数:
input_columnColumn

用作输出模板的列。

policymask_allocation_policy

控制输出列是否具有有效掩码。

sizeint, 可选

要在输出列中分配的元素数量。如果未指定,则使用输入列的大小。

返回值:
pylibcudf.Column

一个与 input 类型和大小相同的列。

pylibcudf.copying.boolean_mask_scatter (布尔掩码分散)(signatures, args, kwargs, defaults, _fused_sigindex={})#

根据 boolean_mask 将 input 中的行分散到 target 中。

如果 source 是一个表,它指定了要分散的行。如果 source 是一个列表,则每个标量被分散到 target_table 中对应的列。

详情请参阅实现,请参阅 boolean_mask_scatter()

参数:
inputUnion[Table, List[Scalar]]

用于提取数据的表对象或标量列表。

targetTable

用于分散数据的表对象。

boolean_maskColumn

从 input 中的行到 target 中的行的映射。

返回值:
Table

分散的结果

抛出:
ValueError

如果 input.num_columns() != target.num_columns(),boolean_mask.size() != target.num_rows(),或者如果 input 是 Table 且 boolean_masktrue 的数量 > input.num_rows()。

TypeError

如果任何 input 类型与相应的 target 列的类型不匹配,或者如果 boolean_mask.type() 不是 bool。

pylibcudf.copying.copy_if_else (按条件复制)(signatures, args, kwargs, defaults, _fused_sigindex={})#

根据 boolean_mask 将元素从 lhs 或 rhs 复制到新列。

详情请参阅实现,请参阅 copy_if_else()

参数:
lhsUnion[Column, Scalar]

如果 boolean_mask 中对应元素为 True,则从中复制的列或标量。

rhsUnion[Column, Scalar]

如果 boolean_mask 中对应元素为 False,则从中复制的列或标量。

boolean_maskColumn

boolean_mask (布尔掩码)

返回值:
pylibcudf.Column

用于从 lhs 和 rhs 中选择元素的布尔掩码。

抛出:
TypeError

Column

ValueError

根据 boolean_mask 从 lhs 和 rhs 中复制元素的结果。

TypeError

如果 lhs 和 rhs 类型不同,或者如果布尔掩码不是 bool 类型。

ValueError

参数:
input_columnColumn

如果布尔掩码与 lhs 和 rhs(任一为列)长度不同,或者如果 lhs 和 rhs 长度不同(如果两者都是列)。

pylibcudf.copying.copy_range (复制范围)(Column input_column, Column target_column, size_type input_begin, size_type input_end, size_type target_begin) Column#

从 input_column 中复制一个范围的元素到 target_column。

详情请参阅实现,请参阅 copy_range()

参数:

input_columnColumn

要从中复制元素的列。

target_columnColumn

要将元素复制到的列。

返回值:
pylibcudf.Column

input_beginint

抛出:
要复制的 input_column 中第一个元素的索引。

input_endint

TypeError

要复制的 input_column 中最后一个元素的索引。

target_beginint

如果 lhs 和 rhs 类型不同,或者如果布尔掩码不是 bool 类型。

要覆盖的 target_column 中第一个元素的索引。

返回值:

参数:
input_columnColumn

如果布尔掩码与 lhs 和 rhs(任一为列)长度不同,或者如果 lhs 和 rhs 长度不同(如果两者都是列)。

pylibcudf.copying.copy_range (复制范围)(Column input_column, Column target_column, size_type input_begin, size_type input_end, size_type target_begin) Column#

从 input_column 中复制一个范围的元素到 target_column。

详情请参阅实现,请参阅 copy_range()

参数:

input_columnColumn

要从中复制元素的列。

target_columnColumn

要将元素复制到的列。

抛出:
TypeError

pylibcudf.Column

要复制的 input_column 中第一个元素的索引。

input_endint

ValueError

target_column 的副本,其中指定范围已被覆盖。

抛出:

IndexError

如果 input_begin、input_end 和 target_begin 指定的范围访问的索引越界。

参数:
TypeError

如果 target 和 source 类型不同。

返回值:
pylibcudf.copying.copy_range_in_place (就地复制范围)(Column input_column, Column target_column, size_type input_begin, size_type input_end, size_type target_begin) Column#

target_column 被就地覆盖。

详情请参阅实现,请参阅 copy_range_in_place()

抛出:

TypeError

参数:
如果对非固定宽度类型尝试此操作(因为它们需要重新分配内存),或者如果 input 和 target 列类型不同。

用于提取数据的表对象或标量列表。

ValueError

如果 source 包含 null 值且 target 不可为空。

pylibcudf.copying.empty_like (创建空对象)(signatures, args, kwargs, defaults, _fused_sigindex={})#

创建一个与 input 类型相同的空列或表。

返回值:
详情请参阅 empty_like()

参数:

抛出:
ValueError

inputUnion[Column, Table]

用作输出模板的列或表。

返回值:

Union[Column, Table]

参数:
input_columnColumn

一个与 input 类型相同的空列或表。

pylibcudf.copying.gather (收集)(Table source_table, Column gather_map, out_of_bounds_policy bounds_policy) Table#

根据提供的 gather_map 从 source_table 中选择行。

返回值:
详情请参阅 gather()

参数:

抛出:
要复制的 input_column 中第一个元素的索引。

source_tableTable

要从中收集行的表。

gather_mapColumn

如果 source 是一个表,它指定了要分散的行。如果 source 是一个列表,则每个标量被分散到 target_table 中对应的列。

要从源表中提取的行索引列表。

参数:
bounds_policyout_of_bounds_policy

控制是否检查输出中的越界索引并将其设为 null,或者是否假定索引在界内。

返回值:

pylibcudf.Table

收集的结果

用于分散数据的表对象。

返回值:
Table

分散的结果

抛出:
ValueError
抛出:
  • ValueError

  • 如果 gather_map 包含 null。

  • pylibcudf.copying.get_element (获取元素)(Column input_column, size_type index) Scalar#

  • 从 input_column 中获取 index 处的元素。

TypeError

详情请参阅实现,请参阅 get_element()

参数:

input_columnColumn

要获取元素的列。

参数:
indexint

要获取的元素的索引。

返回值:

pylibcudf.Scalar

input_column 中 index 处的元素。

抛出:

返回值:
pylibcudf.Column

IndexError

抛出:
TypeError

如果 index 越界。

pylibcudf.copying.scatter (分散)(signatures, args, kwargs, defaults, _fused_sigindex={})#

根据 scatter_map 将 source 中的数据分散到 target_table 中。

详情请参阅 scatter()

参数:
参数:

sourceUnion[Table, List[Scalar]]

要从中提取数据的表对象或标量列表。

scatter_mapColumn

返回值:
从 source 中的行到 target_table 中的行的映射。

target_tableTable

抛出:
ValueError

要将数据分散到的表对象。

要复制的 input_column 中第一个元素的索引。

抛出:

ValueError

如果发生以下任何情况

scatter_map 包含 null 值。

参数:
TypeError

source 是 Table 且 source 中的列数与 target 中的列数不匹配。

source 是 Table 且 source 中的行数与 scatter_map 中的元素数量不匹配。

source 是 List[Scalar] 且标量数量与 target 中的列数不匹配。

返回值:
从 source 中的行到 target_table 中的行的映射。

TypeError

如果 source 和 target 列的数据类型不匹配。