56 from daal.data_management
import (
57 DictionaryIface, HomogenNumericTable, RowMergedNumericTable, BlockDescriptor, convertToHomogen, readWrite, readOnly
60 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
61 if utils_folder
not in sys.path:
62 sys.path.insert(0, utils_folder)
63 from utils
import printArray, printNumericTable
65 if __name__ ==
"__main__":
67 print(
"Row merged numeric table example\n")
77 data1 = np.array([(0.0, 0.1, 0.2, 0.3, 0.4,),
78 (1.0, 1.1, 1.2, 1.3, 1.4,),
79 (2.0, 2.1, 2.2, 2.3, 2.4,),
80 (3.0, 3.1, 3.2, 3.3, 3.4,),
81 (4.0, 4.1, 4.2, 4.3, 4.4,),])
83 data2 = np.array([(0.5, 0.6, 0.7, 0.8, 0.9,),
84 (1.5, 1.6, 1.7, 1.8, 1.9,),
85 (2.5, 2.6, 2.7, 2.8, 2.9,),
86 (3.5, 3.6, 3.7, 3.8, 3.9,),
87 (4.5, 4.6, 4.7, 4.8, 4.9,),
88 (5.5, 5.6, 5.7, 5.8, 5.9,),])
91 table1 = HomogenNumericTable(DictionaryIface.equal, data1)
92 table2 = HomogenNumericTable(DictionaryIface.equal, data2)
94 dataTable = RowMergedNumericTable()
95 dataTable.addNumericTable(table1)
96 dataTable.addNumericTable(table2)
98 block = BlockDescriptor()
101 dataTable.getBlockOfRows(0, nObservations1 + nObservations2, readWrite, block)
102 printArray(block.getArray(), nFeatures, block.getNumberOfRows(), block.getNumberOfColumns(),
103 "Print rows from row merged numeric table as float:")
106 row = block.getArray()
107 for i
in range(nObservations1 + nObservations2):
108 row[i][featureIdx] *= row[i][featureIdx]
109 dataTable.releaseBlockOfRows(block)
111 dataTable.getBlockOfRows(0, nObservations1 + nObservations2, readOnly, block)
112 printArray(block.getArray(), nFeatures, block.getNumberOfRows(), block.getNumberOfColumns(),
113 "Print rows from row merged numeric table as float:")
114 dataTable.releaseBlockOfRows(block)
116 finalizedTable = convertToHomogen(dataTable)
118 printNumericTable(finalizedTable,
"Row merged table converted to homogen numeric table")