datasetColumns = array_map(static function (string $column): string { return $column; }, $datasetColumns); $this->filterColumns = array_map(static function (string $column): string { return $column; }, $filterColumns); } public function fit(array $samples, ?array $targets = null): void { //nothing to do } public function transform(array &$samples, ?array &$targets = null): void { $keys = array_intersect($this->datasetColumns, $this->filterColumns); foreach ($samples as &$sample) { $sample = array_values(array_intersect_key($sample, $keys)); } } }