如何在 H2O 框架的应用方法中使用自定义函数
How to use custom function in apply method with H2O frame
我正在尝试使用以下代码将函数应用于 H2O 框架特定列中的每一行,但出现错误。
df["decision"] = df["resp_cd"].apply(lambda x:1 if x in ["00", 01", "11] else 0, axis=1)
有没有其他方法可以在 H2O 中使用用户定义的函数?
我们应该如何使用H2O中的apply
功能?我希望它类似于 Pandas 中的 apply
函数,但这似乎不是真的。
完全合理的问题。在您的情况下,您实际上应该使用 .ifelse() 方法而不是 apply 方法,H2O 的 apply 方法仅限于一组已实现的数学函数,这些函数也可以在 lambda 样式函数中以有限的方式使用(请注意您的错误只是说您正在尝试将 apply 与 unimplimented 方法一起使用):
以下可能会解决您的问题,但您可能需要尝试一下:
(df[‘resp_cd’].isin([‘00’,’10’,’11’])).ifelse(1,0)
(要测试的语句).ifelse(return 如果为真,return 如果为假)。
您可能需要使用 df['resp_cd'].ascharacter() 或 df['resp_cd'].asfactor() 将列类型更改为字符串或枚举类型以获取上面的代码示例适用于您,但现在您已经了解如何将布尔 if else 函数应用于 H2OFrame。
我正在尝试使用以下代码将函数应用于 H2O 框架特定列中的每一行,但出现错误。
df["decision"] = df["resp_cd"].apply(lambda x:1 if x in ["00", 01", "11] else 0, axis=1)
有没有其他方法可以在 H2O 中使用用户定义的函数?
我们应该如何使用H2O中的apply
功能?我希望它类似于 Pandas 中的 apply
函数,但这似乎不是真的。
完全合理的问题。在您的情况下,您实际上应该使用 .ifelse() 方法而不是 apply 方法,H2O 的 apply 方法仅限于一组已实现的数学函数,这些函数也可以在 lambda 样式函数中以有限的方式使用(请注意您的错误只是说您正在尝试将 apply 与 unimplimented 方法一起使用):
以下可能会解决您的问题,但您可能需要尝试一下:
(df[‘resp_cd’].isin([‘00’,’10’,’11’])).ifelse(1,0)
(要测试的语句).ifelse(return 如果为真,return 如果为假)。
您可能需要使用 df['resp_cd'].ascharacter() 或 df['resp_cd'].asfactor() 将列类型更改为字符串或枚举类型以获取上面的代码示例适用于您,但现在您已经了解如何将布尔 if else 函数应用于 H2OFrame。