31 from daal.data_management
import (
32 DictionaryIface, HomogenNumericTable, RowMergedNumericTable, BlockDescriptor, convertToHomogen, readWrite, readOnly
35 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
36 if utils_folder
not in sys.path:
37 sys.path.insert(0, utils_folder)
38 from utils
import printArray, printNumericTable
40 if __name__ ==
"__main__":
42 print(
"Row merged numeric table example\n")
52 data1 = np.array([(0.0, 0.1, 0.2, 0.3, 0.4,),
53 (1.0, 1.1, 1.2, 1.3, 1.4,),
54 (2.0, 2.1, 2.2, 2.3, 2.4,),
55 (3.0, 3.1, 3.2, 3.3, 3.4,),
56 (4.0, 4.1, 4.2, 4.3, 4.4,),])
58 data2 = np.array([(0.5, 0.6, 0.7, 0.8, 0.9,),
59 (1.5, 1.6, 1.7, 1.8, 1.9,),
60 (2.5, 2.6, 2.7, 2.8, 2.9,),
61 (3.5, 3.6, 3.7, 3.8, 3.9,),
62 (4.5, 4.6, 4.7, 4.8, 4.9,),
63 (5.5, 5.6, 5.7, 5.8, 5.9,),])
66 table1 = HomogenNumericTable(DictionaryIface.equal, data1)
67 table2 = HomogenNumericTable(DictionaryIface.equal, data2)
69 dataTable = RowMergedNumericTable()
70 dataTable.addNumericTable(table1)
71 dataTable.addNumericTable(table2)
73 block = BlockDescriptor()
76 dataTable.getBlockOfRows(0, nObservations1 + nObservations2, readWrite, block)
77 printArray(block.getArray(), nFeatures, block.getNumberOfRows(), block.getNumberOfColumns(),
78 "Print rows from row merged numeric table as float:")
81 row = block.getArray()
82 for i
in range(nObservations1 + nObservations2):
83 row[i][featureIdx] *= row[i][featureIdx]
84 dataTable.releaseBlockOfRows(block)
86 dataTable.getBlockOfRows(0, nObservations1 + nObservations2, readOnly, block)
87 printArray(block.getArray(), nFeatures, block.getNumberOfRows(), block.getNumberOfColumns(),
88 "Print rows from row merged numeric table as float:")
89 dataTable.releaseBlockOfRows(block)
91 finalizedTable = convertToHomogen(dataTable)
93 printNumericTable(finalizedTable,
"Row merged table converted to homogen numeric table")