25 from daal.data_management
import FileDataSource, CsvDataSourceOptions, modifiers
26 from daal.data_management.modifiers.csv
import FeatureModifier
29 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
30 if utils_folder
not in sys.path:
31 sys.path.insert(0, utils_folder)
32 from utils
import printNumericTable
35 class MySquaringModifier(FeatureModifier):
36 def apply(self, tokens):
37 return [[float(x)*float(x)
for x
in t]
for t
in tokens]
41 class MyMaxFeatureModifier(FeatureModifier):
43 super(MyMaxFeatureModifier, self).__init__(1,4)
46 def apply(self, tokens):
47 return [[float(max(t))]
for t
in tokens]
50 if __name__ ==
"__main__":
52 csvFileName =
"../data/batch/mixed_text_and_numbers.csv"
55 csvOptions = CsvDataSourceOptions(CsvDataSourceOptions.allocateNumericTable | CsvDataSourceOptions.createDictionaryFromContext | CsvDataSourceOptions.parseHeader)
58 ds = FileDataSource(csvFileName, csvOptions)
63 fm = ds.getFeatureManager()
64 fm.addModifier([
"Numeric1"], modifiers.csv.continuous())
65 fm.addModifier([
"Numeric2",
"Numeric5"], MySquaringModifier())
66 fm.addModifier([
"Numeric0",
"Numeric5"], MyMaxFeatureModifier())
70 printNumericTable(ds.getNumericTable(),
"Loaded numeric table:")