如何在 H2O 中加入两帧行?

How to join two frames' rows in H2O?

我正在 H2O 的 Java 源代码(在包 h2o-algos 下)实现我自己的算法。

如何在给定 H2O Java 方法的情况下连接 H2O 中的两帧行(即向量)?

例如,给定两个帧 A 和 B

Frame A:

| Id       | Name           |
| -------- | -------------- |
| 123      | John           |
| 456      | Bob            |
Frame B:
| Id       | Name           |
| -------- | -------------- |
| 789      | Alice          |

我希望生成的帧 C 为:

| Id       | Name           |
| -------- | -------------- |
| 123      | John           |
| 456      | Bob            |
| 789      | Alice          |

有没有一种方法可以更快地做到这一点:制作新矢量,而不是从新矢量创建新帧?我已阅读文档并发现 Frame::append() 方法会创建新列,而不是连接行。

此功能称为“行绑定”,它不会作为 API 方法公开。但是,它可以作为 Rapids 表达式(简单 scheme-like 语言)使用。你可以按照这个例子来 row-bind 2 H2O 帧: https://github.com/h2oai/h2o-3/blob/master/h2o-core/src/test/java/water/rapids/ast/prims/mungers/AstRBindTest.java#L40 简而言之,如果你有 2 个带有键 A 和 B 的帧,你会 运行 water.rapids.Rapids.exec("rbind A B ").getFrame()