【发布时间】:2016-12-23 07:03:45
【问题描述】:
在我当前的项目中,我在 SparkR 中使用 H2O 机器学习库。我有多个 .csv 文件并通过 h2o 数据框读取这些 .csv 文件。现在,我想对文件应用h2o.merge() 函数以将一个 h2o 数据帧的主键映射到另一个 h2o 数据帧的外键。我的主要 h2o 数据框包含 14 列。我使用h2o.getTypes() 函数获取所有列的数据类型。
为了应用h2o.merge() 函数,列应该是字符串或数字类型,而不是枚举或实数。所以为了转换列的数据类型,我使用h2o.ascharacter() 和h2o.asfactor() 函数。现在,我已将枚举列转换为字符串列以使用 h2o.merge() 函数。当我使用 h2o.merge() 函数时,它显示以下错误:
我错过了什么吗?我已经从这个链接Syntax of h2o.merge function 捕获了使用h2o.merge() 函数的语法。
如何合并 h2o 数据帧?
factTable h2o 数据框的示例数据集如下所示(SALES_ORG 为主键):
regionTable h2o数据框的样本数据集如下图(SALES_ORG是外键):
【问题讨论】:
-
您能否提供一个可重现的示例(包括示例数据)?
-
两张表的关键是什么?我认为你需要定义。执行者如何在没有键值的情况下找到两个表之间的相似性???
-
@sahildesai:密钥在两个表之间定义。我只映射合并操作中的键列。
-
我经常发现我必须在合并之前将字符串转换为因子才能使 h2o.merge 正常工作。我想知道您是否在这里遇到类似的事情。
-
@jmuhlenkamp-您能否将其发布为答案。隐藏的逻辑是列应该是枚举/因子格式,以使用 h2o 执行合并操作。感谢您的提示。