列重塑#
- 组 重塑
-
函数
-
std::unique_ptr<table> explode(table_view const &input_table, size_type explode_column_idx, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
展开列表列的元素。
任何列表都会被展开,这意味着每行中列表的元素会被展开成输出中的新行。输入中其他列的相应行会被复制。示例
[[5,10,15], 100], [[20,25], 200], [[30], 300], returns [5, 100], [10, 100], [15, 100], [20, 200], [25, 200], [30, 300],
Null 值和空列表会以不同的方式传播,具体取决于哪些是 null 或空。
请注意,null 列表不会包含在结果表中,但列表内部的 null 值和空列表将用该列在该行的一个 null 条目来表示。[[5,null,15], 100], [null, 200], [[], 300], returns [5, 100], [null, 100], [15, 100],
- 参数:
input_table – 要展开的表。
explode_column_idx – 要在表中展开的列索引。
stream – 用于设备内存操作和内核启动的 CUDA 流。
mr – 用于分配返回列的设备内存的设备内存资源。
- 返回:
一个新表,其中 explode_col 已展开。
-
std::unique_ptr<table> explode_position(table_view const &input_table, size_type explode_column_idx, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
展开列表列的元素并包含一个位置列。
任何列表都会被展开,这意味着每行中列表的元素会被展开成输出中的新行。输入中其他列的相应行会被复制。会添加一个位置列,其中包含每行在原始列表中的索引。示例
[[5,10,15], 100], [[20,25], 200], [[30], 300], returns [0, 5, 100], [1, 10, 100], [2, 15, 100], [0, 20, 200], [1, 25, 200], [0, 30, 300],
Null 值和空列表会以不同的方式传播,具体取决于哪些是 null 或空。
请注意,null 列表不会包含在结果表中,但列表内部的 null 值和空列表将用该列在该行的一个 null 条目来表示。[[5,null,15], 100], [null, 200], [[], 300], returns [0, 5, 100], [1, null, 100], [2, 15, 100],
- 参数:
input_table – 要展开的表。
explode_column_idx – 要在表中展开的列索引。
stream – 用于设备内存操作和内核启动的 CUDA 流。
mr – 用于分配返回列的设备内存的设备内存资源。
- 返回:
一个包含展开值和位置的新表。返回表的列顺序是 [explode_input 前的列, explode_position, explode_value, explode_input 后的列]。
-
std::unique_ptr<table> explode_outer(table_view const &input_table, size_type explode_column_idx, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
展开列表列的元素,保留内部的任何 null 条目或空列表。
任何列表都会被展开,这意味着每行中列表的元素会被展开成输出中的新行。输入中其他列的相应行会被复制。示例
[[5,10,15], 100], [[20,25], 200], [[30], 300], returns [5, 100], [10, 100], [15, 100], [20, 200], [25, 200], [30, 300],
Null 值和空列表在结果中以 null 条目传播。
[[5,null,15], 100], [null, 200], [[], 300], returns [5, 100], [null, 100], [15, 100], [null, 200], [null, 300],
- 参数:
input_table – 要展开的表。
explode_column_idx – 要在表中展开的列索引。
stream – 用于设备内存操作和内核启动的 CUDA 流。
mr – 用于分配返回列的设备内存的设备内存资源。
- 返回:
一个新表,其中 explode_col 已展开。
-
std::unique_ptr<table> explode_outer_position(table_view const &input_table, size_type explode_column_idx, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
展开列表列的元素,保留任何 null 条目或空列表,并包含一个位置列。
任何列表都会被展开,这意味着每行中列表的元素会被展开成输出中的新行。输入中其他列的相应行会被复制。会添加一个位置列,其中包含每行在原始列表中的索引。示例
[[5,10,15], 100], [[20,25], 200], [[30], 300], returns [0, 5, 100], [1, 10, 100], [2, 15, 100], [0, 20, 200], [1, 25, 200], [0, 30, 300],
Null 值和空列表在结果中以 null 条目传播。
[[5,null,15], 100], [null, 200], [[], 300], returns [0, 5, 100], [1, null, 100], [2, 15, 100], [0, null, 200], [0, null, 300],
- 参数:
input_table – 要展开的表。
explode_column_idx – 要在表中展开的列索引。
stream – 用于设备内存操作和内核启动的 CUDA 流。
mr – 用于分配返回列的设备内存的设备内存资源。
- 返回:
一个新表,其中 explode_col 已展开。
-
std::unique_ptr<column> interleave_columns(table_view const &input, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
将表的列交错合并到单个列中。
将列主序表
input
转换为行主序列。示例in = [[A1, A2, A3], [B1, B2, B3]] return = [A1, B1, A2, B2, A3, B3]
- 抛出:
cudf::logic_error – 如果输入不包含任何列。
cudf::logic_error – 如果输入列的数据类型不一致。
- 参数:
input – 包含要交错合并的列的表
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
交错合并后的列作为一个单个列
-
std::unique_ptr<table> tile(table_view const &input, 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
表的行重复count
次以形成新表。output.num_columns() == input.num_columns()
output.num_rows() == input.num_rows() * count
input = [[8, 4, 7], [5, 2, 3]] count = 2 return = [[8, 4, 7, 8, 4, 7], [5, 2, 3, 5, 2, 3]]
- 参数:
input – 包含要重复的行的表
count – 重复“行”的次数。必须是非负数
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回表的设备内存的设备内存资源
- 返回:
包含重复“行”的表
-
std::unique_ptr<column> byte_cast(column_view const &input_column, flip_endianness endian_configuration, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
将列的元素转换为字节列表。
input<int32> = [8675, 309] configuration = flip_endianness::YES return = [[0x00, 0x00, 0x21, 0xe3], [0x00, 0x00, 0x01, 0x35]]
- 参数:
input_column – 要转换为字节列表的列
endian_configuration – 是保留还是翻转元素的字节序
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
包含字节列表的列
-
std::unique_ptr<table> explode(table_view const &input_table, size_type explode_column_idx, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
目录