27 from daal.data_management
import FileDataSource, CsvDataSourceOptions, modifiers
28 from daal.data_management.modifiers.csv
import FeatureModifier
31 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
32 if utils_folder
not in sys.path:
33 sys.path.insert(0, utils_folder)
34 from utils
import printNumericTable
37 class MySquaringModifier(FeatureModifier):
38 def apply(self, tokens):
39 return [[float(x)*float(x)
for x
in t]
for t
in tokens]
43 class MyMaxFeatureModifier(FeatureModifier):
45 super(MyMaxFeatureModifier, self).__init__(1,4)
48 def apply(self, tokens):
49 return [[float(max(t))]
for t
in tokens]
52 if __name__ ==
"__main__":
54 csvFileName =
"../data/batch/mixed_text_and_numbers.csv"
57 csvOptions = CsvDataSourceOptions(CsvDataSourceOptions.allocateNumericTable | CsvDataSourceOptions.createDictionaryFromContext | CsvDataSourceOptions.parseHeader)
60 ds = FileDataSource(csvFileName, csvOptions)
65 fm = ds.getFeatureManager()
66 fm.addModifier([
"Numeric1"], modifiers.csv.continuous())
67 fm.addModifier([
"Numeric2",
"Numeric5"], MySquaringModifier())
68 fm.addModifier([
"Numeric0",
"Numeric5"], MyMaxFeatureModifier())
72 printNumericTable(ds.getNumericTable(),
"Loaded numeric table:")