列表提取#
- group lists_extract
函数
-
std::unique_ptr<column> extract_list_element(lists_column_view const &lists_column, size_type index, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
创建一个列,其中每一行是输入
lists_column中相应子列表在位置index处的元素。输出
column[i]是从元素lists_column[i][index]设置的。如果index大于lists_column[i]处的子列表的大小,则输出column[i] = null。l = { {1, 2, 3}, {4}, {5, 6} } r = extract_list_element(l, 1) r is now {2, null, 6}index也可以是负数,在这种情况下,检索的行将从每个子列表的末尾偏移。l = { {"a"}, {"b", "c"}, {"d", "e", "f"} } r = extract_list_element(l, -1) r is now {"a", "c", "f"}任何输入中
lists_column[i] == null的地方都会产生输出column[i] = null。此外,任何元素中lists_column[i][index] == null的地方也会产生输出column[i] = null。- Parameters:
lists_column – 从中提取元素的列。
index – 要检索的每个子列表中的行。
stream – 用于设备内存操作和内核启动的CUDA流。
mr – 用于分配返回列的设备内存的设备内存资源。
- Returns:
提取元素的列。
-
std::unique_ptr<column> extract_list_element(lists_column_view const &lists_column, column_view const &indices, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
创建一个列,其中每一行是输入
lists_column中相应子列表的单个元素,使用indices列中的索引进行选择。输出
column[i]是从元素lists_column[i][indices[i]]设置的。如果indices[i]大于lists_column[i]处的子列表的大小,则输出column[i] = null。同样,如果indices[i]是null,则column[i] = null。l = { {1, 2, 3}, {4}, {5, 6} } r = extract_list_element(l, {0, null, 2}) r is now {1, null, null}indices[i]也可能是负数,在这种情况下,检索的行是从每个子列表的末尾偏移的。l = { {"a"}, {"b", "c"}, {"d", "e", "f"} } r = extract_list_element(l, {-1, -2, -4}) r is now {"a", "b", null}任何输入中
lists_column[i] == null会产生输出column[i] = null。任何输入中lists_column[i][indices[i]] == null会产生输出column[i] = null。- Parameters:
lists_column – 从中提取元素的列。
indices – 该列的行表示要从每个列表行中检索的元素索引。
stream – 用于设备内存操作和内核启动的CUDA流。
mr – 用于分配返回列的设备内存的设备内存资源。
- Throws:
cudf::logic_error – 如果
lists_column和indices的大小不匹配。- Returns:
提取元素的列。
-
std::unique_ptr<column> extract_list_element(lists_column_view const &lists_column, size_type index, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#