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 >> (lambda col: col.str.slice(0, 5)) processor = 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") processor = 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.
-
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