【问题标题】:h2o: iterate through rowsh2o:遍历行
【发布时间】:2016-02-25 20:48:33
【问题描述】:

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

有没有一种干净的方法来获取行上的迭代器,还是我需要求助于像这样的索引

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

【问题讨论】:

    标签: python h2o


    【解决方案1】:

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

    foo 是 h2o 可以理解的 lambda(其中的内容有一些限制,但所有基本的数学运算都应该可以正常工作)。

    悬崖

    【讨论】:

      【解决方案2】:

      除了 Cliff 说的(这是更快的方式),你还可以将整个数据框拉入 Python 空间,然后对其进行迭代。

      pd_frame = h2o_frame.as_data_frame(use_pandas=True)
      

      如果你最后不想要 Pandas:

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

      更多地了解你的图书馆可能有助于更好地回答这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 2019-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多