H2O Frame在python中的每一行应用函数

时间:2018-01-04 21:35:51

标签: h2o

我正在寻找类似于' apply'的方法。大熊猫的功能。我试过了

my_H2Oframe.apply(lambda x: my_function(x), axis=1)

但这不起作用。

  

ValueError:未实现:op< my_function>没有绑定在H2OFrame

我找到了this question。看来我们只能使用那些已经由H2O定义的函数。我认为必须有一个类似于apply函数的方法,因为这是一个常见的操作。有没有人有解决方案?

1 个答案:

答案 0 :(得分:1)

目前没有其他的应用类型方法。 H2O apply方法假设与熊猫类似。确实,H2O的应用函数仅限于某些操作,例如加法(+),减法( - ),除法等。如果使用H2O没有的操作,则会得到上述错误。

以下是一些示例,试图了解apply函数如何工作(第一个获取跨列的平均值,第二个返回一个布尔列):

h2oframe = h2o.import_file("http://h2o-public-test-data.s3.amazonaws.com/smalldata/prostate/prostate.csv")

h2oframe.apply(lambda x: x.mean(), axis=0)

h2oframe.apply(lambda x: x['PSA'] > x['VOL'],axis=1)

以下是关于它的当前文档:

apply(fun=None, axis=0):
    Apply a lambda expression to an H2OFrame.

    Parameters: 
    fun – a lambda expression to be applied per row or per column.
    axis – 0 = apply to each column; 1 = apply to each row
    Returns:    
    a new H2OFrame with the results of applying fun to the current frame.