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)
  • 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

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

  • 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 a transformed dataframe for this operator

Return type


property output_tags