我正在寻找一种类似于熊猫中“应用”功能的方法。我试过了
my_H2Oframe.apply(lambda x: my_function(x), axis=1)
但这是行不通的。
ValueError:未实现:op 在H2OFrame中未绑定
我找到了this question。看来我们只能使用H2O已定义的那些功能。我认为必须有一种类似于apply函数的方法,因为这是一个常见的操作。有没有人有办法解决吗?
最佳答案
目前没有其他Apply类型方法。假设H2O套用方法与熊猫套用非常相似。的确,H2O的apply函数仅限于某些操作,例如加(+),减(-),除法等。如果您使用的是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.