转换填充#
- group transformation_fill
函数
-
void 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)。覆盖
destination中由索引[begin,end)指示的元素范围,使用value。对于需要内存重新分配的用例,使用返回std::unique_ptr的非原地填充函数。 - Throws:
cudf::logic_error – 如果需要重新分配内存(例如,对于可变宽度类型)。
cudf::logic_error – 用于无效范围(如果
begin< 0,begin>end, 或end>destination.size())。cudf::logic_error – 如果
destination和value的类型不同。cudf::logic_error – 如果
value无效但destination不可为空。
- Parameters:
destination – 预分配的列以填充
begin – 填充范围的起始索引(包含)
end – 填充范围的最后一个元素的索引(不包括在内)
value – 要填充的标量值
stream – 用于设备内存操作和内核启动的CUDA流
-
std::unique_ptr<column> 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的副本,然后由索引[begin,end)指示的元素被value覆盖。- Throws:
cudf::logic_error – 用于无效范围(如果
begin< 0,begin>end, 或end>destination.size())。cudf::logic_error – 如果
destination和value的类型不同。
- Parameters:
input – 用于创建新列的输入列。新列是通过将指定范围内的
input值替换为value来创建的。begin – 填充范围的起始索引(包含)
end – 填充范围的最后一个元素的索引(不包括在内)
value – 要填充的标量值
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
结果输出列
-
std::unique_ptr<table> 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中相应索引的值定义。示例:in = [4,5,6] count = [1,2,3] return = [4,5,5,6,6,6]
countshould not have null values; should not contain negative values; and the sum of count elements should not overflow the size_type’s limit. The behavior of this function is undefined ifcounthas negative values or the sum overflows.- Throws:
cudf::logic_error – 如果
count的数据类型不是 size_type。cudf::logic_error – 如果
input_table和count的行数不同。cudf::logic_error – 如果
count有空值。
- Parameters:
input_table – 输入表
count – 不可为空的整数类型列
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回表的设备内存的设备内存资源
- Returns:
包含重复项的结果表
-
std::unique_ptr<table> 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次来创建一个新表。示例:in = [4,5,6] count = 2 return = [4,4,5,5,6,6]
- Throws:
cudf::logic_error – 如果
count是负数。std::overflow_error – 如果
input_table.num_rows()*count溢出 size_type。
- Parameters:
input_table – 输入表
count – 重复次数
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回表的设备内存的设备内存资源
- Returns:
包含重复项的结果表
-
std::unique_ptr<column> 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]size = 3 init = 0 step = 2 return = [0, 2, 4]
- Throws:
cudf::logic_error – 如果
init和step的类型不相同。cudf::logic_error – 如果标量类型不是数字类型。
cudf::logic_error – 如果
size小于 0。
- Parameters:
size – 输出列的大小
init – 序列中的第一个值
step – 增量值
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
包含生成序列的结果列
-
std::unique_ptr<column> 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)]size = 3 init = 0 return = [0, 1, 2]
- Throws:
cudf::logic_error – 如果
init不是数字类型。cudf::logic_error – 如果
size小于 0。
- Parameters:
size – 输出列的大小
init – 序列中的第一个值
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
包含生成序列的结果列
-
std::unique_ptr<cudf::column> 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,即output[i] = init + i * months,其中i在[0, size)范围内。如果给定的日期无效,日期将回退到该月的最后可用日。
示例:
size = 3 init = 2020-01-31 08:00:00 months = 1 return = [2020-01-31 08:00:00, 2020-02-29 08:00:00, 2020-03-31 08:00:00]
- Throws:
cudf::logic_error – 如果输入数据类型不是TIMESTAMP
- Parameters:
size – 要生成的时间戳数量
init – 初始时间戳
months – 要增加的月份数
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
带有月份序列的时间戳列
-
void 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())#