nvtabular.ops.LambdaOp
- 
class nvtabular.ops.LambdaOp(f, dependency=None, label=None, dtype=None, tags=None, properties=None)[source]
- Bases: - nvtabular.ops.operator.Operator- LambdaOp allows you to apply row level functions to an NVTabular workflow. - Example usage 1: - # Define a ColumnSelector that LamdaOp will apply to # then define a custom function, e.g. extract first 5 character from a string lambda_feature = ColumnSelector(["col1"]) new_lambda_feature = lambda_feature >> LambdaOp(lambda col: col.str.slice(0, 5)) workflow = nvtabular.Workflow(new_lambda_feature + 'label') - Example usage 2: - # define a custom function e.g. calculate probability for different events. # Rename the each new feature column name. lambda_features = ColumnSelector(['event1', 'event2', 'event3']), # columns, f is applied to def cond_prob(col, gdf): col = col.astype(np.float32) col = col / gdf['total_events'] return col new_lambda_features = lambda_features >> LambdaOp(cond_prob, dependency=["total_events"]) >> Rename(postfix="_cond") workflow = nvtabular.Workflow(new_lambda_features + 'label') - Parameters
- f (callable) – Defines a function that takes a Series and an optional DataFrame as input, and returns a new Series as the output. 
- dependency (list, default None) – Whether to provide a dependency column or not. 
 
 - Methods - __init__(f[, dependency, label, dtype, …])- column_mapping(col_selector)- 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. - output_column_names(col_selector)- Given a set of columns names returns the names of the transformed columns this operator will produce - 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 - 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 dependencies
 - 
property label
 - 
property dynamic_dtypes
 - 
property output_dtype
 - 
property output_properties