2015-11-23 30 views
0

我知道h2o的内部数据模型是面向列的(即H2OFrame是H2OVec的集合)。但是,我想要使用的库需要遍历H2OFrame的行。h2o:遍历行

有没有干净的方式来获得对行的迭代器还是需要求助于索引像

iris = h2o.import_file(path=".../iris_wheader.csv") 
for i in xrange(iris.nrow): 
    foo(iris[i,:].as_data_frame(use_pandas=False)[1]) 

我知道这将是缓慢的,我使用h2o.h2o.export_file可能的情况下。

回答

1

您可以按行进行应用。 iris.apply(foo,1)

哪里foo一些拉姆达是H2O理解(有什么可以去那里一定的局限性,但所有基本的数学OPS应该能正常运行)。

0

除了什么克里夫说(这是更快的方式),还可以拉动整个数据帧到Python的空间,然后在其上进行迭代。

pd_frame = h2o_frame.as_data_frame(use_pandas=True) 

如果你不想熊猫到底:

np_array = h2o_frame.as_data_frame(use_pandas=True).as_matrix() 

一点关于你的图书馆可能有助于回答这个问题更好。