文件 | |
| 文件 | filling.hpp |
| 用于填充、重复和序列的列 API。 | |
| std::unique_ptr<cudf::column> cudf::calendrical_month_sequence | ( | size_type | size, |
| scalar const & | init, | ||
| size_type | months, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) |
生成一个时间戳序列,该序列从 init 开始,并对每个连续元素按 months 递增,即对于 [0, size) 中的 i,有 output[i] = init + i * months。
如果给定日期无效,该日期将回退到该月的最后一个可用日期。
示例
| cudf::logic_error | 如果输入数据类型不是 TIMESTAMP |
| size | 要生成的时间戳数量 |
| init | 初始时间戳 |
| months | 要递增的月数 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回列的设备内存的设备内存资源 |
| std::unique_ptr<column> cudf::fill | ( | column_view const & | input, |
| size_type | begin, | ||
| size_type | end, | ||
| scalar const & | value, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) |
使用标量值在列中异地填充一系列元素。
创建一个新列,如同对 input 执行了就地填充;也就是说,它就像是先创建了 input 的副本,然后用 value 覆盖了由索引 [begin, end) 指示的元素。
| cudf::logic_error | 对于无效范围(如果 begin < 0, begin > end, 或 end > destination.size())。 |
| cudf::logic_error | 如果 destination 和 value 的类型不同。 |
| input | 用于创建新列的输入列。新列是通过用 value 替换 input 在指定范围内的值来创建的。 |
| begin | 填充范围的起始索引(包含) |
| end | 填充范围中最后一个元素的索引(不包含) |
| value | 要填充的标量值 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回列的设备内存的设备内存资源 |
| void cudf::fill_in_place | ( | mutable_column_view & | destination, |
| size_type | begin, | ||
| size_type | end, | ||
| scalar const & | value, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
| ) |
使用标量值在列中就地填充一系列元素。
从 begin 开始,用 value 填充 destination 的 N 个元素,其中 N = (end - begin)。
用 value 覆盖 destination 中由索引 [begin, end) 指示的元素范围。对于需要重新分配内存的用例,请使用返回 std::unique_ptr<column> 的异地填充函数。
| cudf::logic_error | 如果需要重新分配内存(例如对于可变宽度类型)。 |
| cudf::logic_error | 对于无效范围(如果 begin < 0, begin > end, 或 end > destination.size())。 |
| cudf::logic_error | 如果 destination 和 value 的类型不同。 |
| cudf::logic_error | 如果 value 无效但 destination 不可为空。 |
| destination | 要填充到的预分配列 |
| begin | 填充范围的起始索引(包含) |
| end | 填充范围中最后一个元素的索引(不包含) |
| value | 要填充的标量值 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| std::unique_ptr<table> cudf::repeat | ( | table_view const & | input_table, |
| column_view const & | count, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) |
重复表的行。
通过重复 input_table 的行来创建一个新表。每个元素的重复次数由 count 中对应索引的值定义。示例
count 不应包含 null 值;不应包含负值;且 count 元素的总和不应超过 size_type 的限制。如果 count 包含负值或总和溢出,则此函数的行为未定义。
| cudf::logic_error | 如果 count 的数据类型不是 size_type。 |
| cudf::logic_error | 如果 input_table 和 count 的行数不同。 |
| cudf::logic_error | 如果 count 包含 null 值。 |
| input_table | 输入表 |
| count | 非 nullable 的整数类型列 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回表的设备内存的设备内存资源 |
| std::unique_ptr<table> cudf::repeat | ( | table_view const & | input_table, |
| size_type | count, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) |
重复表的行。
通过将 input_table 的行重复 count 次来创建一个新表。示例
| cudf::logic_error | 如果 count 为负。 |
| std::overflow_error | 如果 input_table.num_rows() * count 溢出 size_type。 |
| input_table | 输入表 |
| count | 重复次数 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回表的设备内存的设备内存资源 |
| std::unique_ptr<column> cudf::sequence | ( | size_type | size, |
| scalar const & | init, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) |
使用由初始值和步长 1 指定的值序列填充列。
创建一个新列,并用从 init 开始并按 1 递增的 size 个值填充,生成序列 [ init, init+1, init+2, ... init + (size - 1)]
| cudf::logic_error | 如果 init 不是数字类型。 |
| cudf::logic_error | 如果 size < 0。 |
| size | 输出列的大小 |
| init | 序列中的第一个值 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回列的设备内存的设备内存资源 |
| std::unique_ptr<column> cudf::sequence | ( | size_type | size, |
| scalar const & | init, | ||
| scalar const & | step, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) |
使用由初始值和步长指定的值序列填充列。
创建一个新列,并用从 init 开始并按 step 递增的 size 个值填充,生成序列 [ init, init+step, init+2*step, ... init + (size - 1)*step]
| cudf::logic_error | 如果 init 和 step 的类型不同。 |
| cudf::logic_error | 如果标量类型不是数字类型。 |
| cudf::logic_error | 如果 size < 0。 |
| size | 输出列的大小 |
| init | 序列中的第一个值 |
| step | 递增值 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回列的设备内存的设备内存资源 |