我正在寻找类似于' apply'的方法。大熊猫的功能。我试过了
my_H2Oframe.apply(lambda x: my_function(x), axis=1)
但这不起作用。
ValueError:未实现:op< my_function>没有绑定在H2OFrame
我找到了this question。看来我们只能使用那些已经由H2O定义的函数。我认为必须有一个类似于apply函数的方法,因为这是一个常见的操作。有没有人有解决方案?
答案 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.