列表包含#

分组 搜索

枚举

enum class duplicate_find_option : int32_t#

用于选择 index_of() 是返回列表中搜索键的第一个匹配项还是最后一个匹配项的选项。

enumerator FIND_FIRST#

查找列表中搜索键的第一个实例。

enumerator FIND_LAST#

查找列表中搜索键的最后一个实例。

函数

std::unique_ptr<column> contains(cudf::lists_column_view const &lists, cudf::scalar const &search_key, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建一个 bool 值列,指示指定的标量是否是列表列中每行的元素。

输出列包含与输入 lists 列相同数量的元素。如果列表行 lists[i] 包含 search_key 中指定的值,则输出 column[i] 设置为 true。否则,设置为 false。

如果以下一个或多个条件为真,则输出 column[i] 设置为 null

  1. 搜索键 search_key 为 null

  2. 列表行 lists[i] 为 null

参数:
  • lists – 要搜索其 n 行的列表列

  • search_key – 要在每个列表行中查找的标量键

  • stream – 用于设备内存操作和内核启动的 CUDA 流。

  • mr – 用于分配返回列设备内存的设备内存资源

返回值:

一个包含查找结果的 n 行的 BOOL8 列

std::unique_ptr<column> contains(cudf::lists_column_view const &lists, cudf::column_view const &search_keys, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建一个 bool 值列,指示第一列的列表行是否包含第二列中的对应值。

输出列包含与输入 lists 列相同数量的元素。如果列表行 lists[i] 包含 search_keys[i] 中的值,则输出 column[i] 设置为 true。否则,设置为 false。

如果以下一个或多个条件为真,则输出 column[i] 设置为 null

  1. search_keys[i] 为 null

  2. 列表行 lists[i] 为 null

参数:
  • lists – 要搜索其 n 行的列表列

  • search_keys – 要在每个列表行中查找的元素列。

  • stream – 用于设备内存操作和内核启动的 CUDA 流。

  • mr – 用于分配返回列设备内存的设备内存资源

返回值:

一个包含查找结果的 n 行的 BOOL8 列

std::unique_ptr<column> contains_nulls(cudf::lists_column_view const &lists, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建一个 bool 值列,指示 lists 列中的每一行是否包含至少一个 null 元素。

输出列包含与输入 lists 列相同数量的元素。如果行 lists[i] 为 null,则输出 column[i] 设置为 null。否则,column[i] 设置为非 null 布尔值,具体取决于该列表是否包含 null 元素。

空列表的行始终返回 false。不考虑非 null 嵌套元素(如列表或结构体)内部的 null 值。

参数:
  • lists – 要搜索其 n 行的列表列。

  • stream – 用于设备内存操作和内核启动的 CUDA 流。

  • mr – 用于分配返回列设备内存的设备内存资源

返回值:

一个包含查找结果的 n 行的 BOOL8 列

std::unique_ptr<column> index_of(cudf::lists_column_view const &lists, cudf::scalar const &search_key, duplicate_find_option find_option = duplicate_find_option::FIND_FIRST, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建值列,指示搜索键在 lists 列中每个列表行内的位置。

输出列包含与输入 lists 列相同数量的元素。输出 column[i] 包含一个从 0 开始的索引,指示搜索键在每个列表中的位置,从列表开头开始计数。注意

  1. 如果 search_key 为 null,则所有输出行都设置为 null。

  2. 如果行 lists[i] 为 null,则 output[i] 也为 null。

  3. 如果行 lists[i] 不包含 search_key,则 output[i] 设置为 -1

  4. 在所有其他情况下,output[i] 设置为非负的 size_type 索引。

如果 find_option 设置为 FIND_FIRST,则返回 search_key 的第一个匹配位置。如果 find_option == FIND_LAST,则返回列表行中最后一个匹配位置。

抛出:

cudf::data_type_error – 如果 search_keys 类型与 lists 中的元素类型不匹配

参数:
  • lists – 要搜索其 n 行的列表列

  • search_key – 要在每个列表行中查找的标量键

  • find_option – 是否返回第一个匹配的位置 (FIND_FIRST) 或最后一个匹配的位置 (FIND_LAST)

  • stream – 用于设备内存操作和内核启动的 CUDA 流

  • mr – 用于分配返回列设备内存的设备内存资源

返回值:

一个包含 search_key 位置的 n 行的列

std::unique_ptr<column> index_of(cudf::lists_column_view const &lists, cudf::column_view const &search_keys, duplicate_find_option find_option = duplicate_find_option::FIND_FIRST, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建值列,指示搜索键行在 lists 列中对应列表行内的位置。

输出列包含与输入 lists 列相同数量的元素。输出 column[i] 包含一个从 0 开始的索引,指示每个搜索键行在其对应列表行中的位置,从列表开头开始计数。注意

  1. 如果 search_keys[i] 为 null,则 output[i] 也为 null。

  2. 如果行 lists[i] 为 null,则 output[i] 也为 null。

  3. 如果行 lists[i] 不包含 search_key[i],则 output[i] 设置为 -1

  4. 在所有其他情况下,output[i] 设置为非负的 size_type 索引。

如果 find_option 设置为 FIND_FIRST,则返回 search_key 的第一个匹配位置。如果 find_option == FIND_LAST,则返回列表行中最后一个匹配位置。

抛出:
参数:
  • lists – 要搜索其 n 行的列表列

  • search_keys – 一个搜索键列,用于在 lists 的每个对应行中查找

  • find_option – 是否返回第一个匹配的位置 (FIND_FIRST) 或最后一个匹配的位置 (FIND_LAST)

  • stream – 用于设备内存操作和内核启动的 CUDA 流

  • mr – 用于分配返回列设备内存的设备内存资源

返回值:

一个包含 search_key 位置的 n 行的列