nvtabular.ops.ListSlice

class nvtabular.ops.ListSlice(start, end=None, pad=False, pad_value=0.0)[source]

Bases: nvtabular.ops.operator.Operator

Slices a list column

This operator provides the ability to slice list column by row. For example, to truncate a list column to only include the first 10 elements per row:

truncated = column_names >> ops.ListSlice(10)

Take the first 10 items, ignoring the first element:

truncated = column_names >> ops.ListSlice(1, 11)

Take the last 10 items from each row:

truncated = column_names >> ops.ListSlice(-10)
Parameters
  • start (int) – The starting value to slice from if end isn’t given, otherwise the end value to slice to

  • end (int, optional) – The end value to slice to

  • pad (bool, default False) – Whether to pad out rows to have the same number of elements. If not set rows may not all have the same number of entries.

  • pad_value (float) – When pad=True, this is the value used to pad missing entries

__init__(start, end=None, pad=False, pad_value=0.0)[source]

Methods

__init__(start[, end, pad, pad_value])

column_mapping(col_selector)

Compute which output columns depend on which input columns

compute_column_schema(col_name, input_schema)

compute_input_schema(root_schema, …)

Given the schemas coming from upstream sources and a column selector for the input columns, returns a set of schemas for the input columns this operator will use

compute_output_schema(input_schema, col_selector)

Given a set of schemas and a column selector for the input columns, returns a set of schemas for the transformed columns this operator will produce

compute_selector(input_schema, selector[, …])

Provides a hook method for sub-classes to override to implement custom column selection logic.

create_node(selector)

inference_initialize(col_selector, model_config)

Configures this operator for use in inference.

load_artifacts([artifact_path])

Load artifacts from disk required for operator function.

output_column_names(col_selector)

Given a set of columns names returns the names of the transformed columns this operator will produce

save_artifacts([artifact_path])

Save artifacts required to be reload operator state from disk

transform(col_selector, df)

Transform the dataframe by applying this operator to the set of input columns

validate_schemas(parents_schema, …[, …])

Provides a hook method that sub-classes can override to implement schema validation logic.

Attributes

dependencies

Defines an optional list of column dependencies for this operator.

dynamic_dtypes

is_subgraph

label

output_dtype

output_properties

output_tags

supported_formats

supports

Returns what kind of data representation this operator supports

transform(col_selector: merlin.dag.selector.ColumnSelector, df: pandas.core.frame.DataFrame)pandas.core.frame.DataFrame[source]

Transform the dataframe by applying this operator to the set of input columns

Parameters
  • columns (list of str or list of list of str) – The columns to apply this operator to

  • df (Dataframe) – A pandas or cudf dataframe that this operator will work on

Returns

Returns a transformed dataframe for this operator

Return type

DataFrame

property output_tags