Transforms
TransformProcess — data transformations, column operations, type conversions, and sequences
Building a TransformProcess
import org.datavec.api.transform.TransformProcess;
import org.datavec.api.transform.condition.ConditionOp;
import org.datavec.api.transform.condition.column.*;
TransformProcess tp = new TransformProcess.Builder(inputDataSchema)
// Remove columns that aren't features
.removeColumns("CustomerID", "MerchantID")
// Filter: keep only USA and CAN transactions
.filter(new ConditionFilter(
new CategoricalColumnCondition("MerchantCountryCode",
ConditionOp.NotInSet, new HashSet<>(Arrays.asList("USA","CAN")))
))
// Replace negative amounts with 0
.conditionalReplaceValueTransform(
"TransactionAmountUSD",
new DoubleWritable(0.0),
new DoubleColumnCondition("TransactionAmountUSD", ConditionOp.LessThan, 0.0)
)
// Parse a date string into epoch milliseconds
.stringToTimeTransform("DateTimeString", "YYYY-MM-DD HH:mm:ss.SSS", DateTimeZone.UTC)
.renameColumn("DateTimeString", "DateTime")
// Extract hour-of-day as a new integer column
.transform(new DeriveColumnsFromTimeTransform.Builder("DateTime")
.addIntegerDerivedColumn("HourOfDay", DateTimeFieldType.hourOfDay())
.build())
.removeColumns("DateTime")
.build();Column Management
Removing Columns
Renaming Columns
Reordering Columns
Duplicating Columns
Adding Constant Columns
Type Conversions
String to Numeric
Categorical Encoding
Mathematical Operations
Scalar Operations on a Single Column
Math Functions on a Column
Derived Column from Multiple Columns
Time Arithmetic
String Operations
Remove Whitespace
Append to String
Map Replacements
Time Transforms
Parse String to Time
Derive Integer Columns from Time
Conditional Transforms
Replace a Value When Condition Is True
Replace with One of Two Values Based on Condition
Copy a Value from Another Column Conditionally
Filtering
Normalization
Sorting and Ranking
Calculate Sorted Rank
Sequence Transforms
Convert Records to Sequences
Convert Sequences Back to Records
Split Sequences
Trim Sequences
Offset Sequence Columns
Moving Window Reduction
Reduce Sequences
Applying Custom Transforms
Executing the Transform
Debugging Transforms
Last updated
Was this helpful?