复制切片#
- group copy_slice
函数
-
std::vector<column_view> slice(column_view const &input, host_span<size_type const> indices, rmm::cuda_stream_view stream = cudf::get_default_stream())#
根据一组索引将
column_view切片成一组column_view。返回的
input视图由偶数索引构建,其中第i个返回的column_view视图查看input中由范围[indices[2*i], indices[(2*i)+1])指示的元素。对于所有的
i,预期indices[i] <= input.size()对于所有的i%2==0,预期indices[i] <= indices[i+1]input: {10, 12, 14, 16, 18, 20, 22, 24, 26, 28} indices: {1, 3, 5, 9, 2, 4, 8, 8} output: {{12, 14}, {20, 22, 24, 26}, {14, 16}, {}}注意
调用者有责任确保返回的视图不会超过被查看设备内存的寿命。
- Throws:
std::invalid_argument – 如果
indices的大小不是偶数。std::invalid_argument – 当对中的值严格递减时。
std::out_of_range – 当对中的任何值不属于范围 [0, input.size()) 时。
- Parameters:
input – 要切片的列的视图
indices – 用于对
input进行切片操作的索引stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
由
indices中的范围指示的input视图向量
-
std::vector<column_view> slice(column_view const &input, std::initializer_list<size_type> indices, rmm::cuda_stream_view stream = cudf::get_default_stream())#
根据一组索引将
column_view切片成一组column_view。返回的
input视图由偶数索引构建,其中第i个返回的column_view视图查看input中由范围[indices[2*i], indices[(2*i)+1])指示的元素。对于所有的
i,预期indices[i] <= input.size()对于所有的i%2==0,预期indices[i] <= indices[i+1]input: {10, 12, 14, 16, 18, 20, 22, 24, 26, 28} indices: {1, 3, 5, 9, 2, 4, 8, 8} output: {{12, 14}, {20, 22, 24, 26}, {14, 16}, {}}注意
调用者有责任确保返回的视图不会超过被查看设备内存的寿命。
- Throws:
std::invalid_argument – 如果
indices的大小不是偶数。std::invalid_argument – 当对中的值严格递减时。
std::out_of_range – 当对中的任何值不属于范围 [0, input.size()) 时。
- Parameters:
input – 要切片的列的视图
indices – 用于获取
input切片的索引stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
由
indices中的范围指示的input视图的向量
-
std::vector<table_view> slice(table_view const &input, host_span<size_type const> indices, rmm::cuda_stream_view stream = cudf::get_default_stream())#
根据一组索引将
table_view切片成一组table_view。返回的
input视图由偶数索引构建,其中第i个返回的table_view视图查看input中由范围[indices[2*i], indices[(2*i)+1])指示的元素。对于所有的
i,预期indices[i] <= input.size()对于所有的i%2==0,预期indices[i] <= indices[i+1]input: [{10, 12, 14, 16, 18, 20, 22, 24, 26, 28}, {50, 52, 54, 56, 58, 60, 62, 64, 66, 68}] indices: {1, 3, 5, 9, 2, 4, 8, 8} output: [{{12, 14}, {20, 22, 24, 26}, {14, 16}, {}}, {{52, 54}, {60, 22, 24, 26}, {14, 16}, {}}]注意
调用者有责任确保返回的视图不会超过被查看设备内存的寿命。
- Throws:
std::invalid_argument – 如果
indices的大小不是偶数。std::invalid_argument – 当对中的值严格递减时。
std::out_of_range – 当对中的任何值不属于范围 [0, input.size()) 时。
- Parameters:
input – 要切片的表的视图
indices – 用于对
input进行切片操作的索引stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
由
indices中的范围指示的input视图向量
-
std::vector<table_view> slice(table_view const &input, std::initializer_list<size_type> indices, rmm::cuda_stream_view stream = cudf::get_default_stream())#
根据一组索引将
table_view切片成一组table_view。返回的
input视图由偶数个索引构建,其中第i个返回的table_view视图查看input中由范围[indices[2*i], indices[(2*i)+1])指示的元素。对于所有的
i,预期indices[i] <= input.size()对于所有的i%2==0,预期indices[i] <= indices[i+1]input: [{10, 12, 14, 16, 18, 20, 22, 24, 26, 28}, {50, 52, 54, 56, 58, 60, 62, 64, 66, 68}] indices: {1, 3, 5, 9, 2, 4, 8, 8} output: [{{12, 14}, {20, 22, 24, 26}, {14, 16}, {}}, {{52, 54}, {60, 22, 24, 26}, {14, 16}, {}}]注意
调用者有责任确保返回的视图不会超过被查看设备内存的寿命。
- Throws:
std::invalid_argument – 如果
indices的大小不是偶数。std::invalid_argument – 当对中的值严格递减时。
std::out_of_range – 当对中的任何值不属于范围 [0, input.size()) 时。
- Parameters:
input – 要切片的表的视图
indices – 用于获取
input切片的索引stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
由
indices中的范围指示的input视图向量
-
std::vector<column_view> slice(column_view const &input, host_span<size_type const> indices, rmm::cuda_stream_view stream = cudf::get_default_stream())#