У меня есть простой файл HDF5 (созданный PyTables) с десятью столбцами и 100000 строк. Для каждого значения я должен применить простое линейное уравнение с разными параметрами для каждого столбца и записать материал в CSV.
Мой наивный подход состоял в том, чтобы зациклиться на таблице:
for row in table.iterrows():
print "%f,%f,..." % (row['a'] * 1.0 + 2.0, row['b'] * 3.0 + 4.0, ...)
Но мне интересно, будет ли более эффективно выбирать столбцы и вычислять их таким образом, а затем перебирать полученные массивы:
a = numpy.add(numpy.multiply(table.cols.a, 1.0), 2.0)
b = numpy.add(numpy.multiply(table.cols.b, 3.0), 4.0)
Но это еще медленнее, кажется.
Как лучше всего это сделать?