列表包含#

group lists_contains

枚举

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 为空

  2. 列表行 lists[i] 为空

Parameters:
  • lists – 要搜索的列,其 n 行将被搜索

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

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

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

Returns:

BOOL8 列,包含 n 行的查找结果

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] 为空

  2. 列表行 lists[i] 为空

Parameters:
  • 列表 – 要搜索的列的n

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

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

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

Returns:

BOOL8 列,包含 n 行的查找结果

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列中的每一行是否包含至少一个空元素。

输出列的元素数量与输入列 lists 相同。如果行 lists[i] 为空,则输出 column[i] 设置为空。否则,column[i] 将根据该列表是否包含空元素设置为非空的布尔值。

带有空列表的行将始终返回false。非空嵌套元素(如列表或结构体)中的空值不被考虑。

Parameters:
  • lists – 要搜索的列,其 n 行将被搜索。

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

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

Returns:

BOOL8 列,包含 n 行的查找结果

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 为空,则所有输出行都将设置为空。

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

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

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

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

Throws:

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

Parameters:
  • 列表 – 要搜索的列的n

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

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

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

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

Returns:

包含n行的列,其中包含search_key的位置

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] 为空,output[i] 也为空。

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

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

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

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

Throws:
Parameters:
  • 列表 – 要搜索的列的n

  • search_keys – 要在lists的每一行中查找的搜索键列

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

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

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

Returns:

包含n行的列,其中包含search_key的位置