【发布时间】:2018-01-31 15:03:50
【问题描述】:
如何在 python 中子集一个 h2o 框架。 如果 x 是一个 df 并且 Origin 是一个变量,那么在熊猫中我们通常可以通过
x[x.Origin == 'AAF']
但使用 h2o 框架会出现以下错误: “H2OResponseError:服务器错误 java.lang.IllegalArgumentException: 错误:“x.hex”的名称查找失败”
【问题讨论】:
如何在 python 中子集一个 h2o 框架。 如果 x 是一个 df 并且 Origin 是一个变量,那么在熊猫中我们通常可以通过
x[x.Origin == 'AAF']
但使用 h2o 框架会出现以下错误: “H2OResponseError:服务器错误 java.lang.IllegalArgumentException: 错误:“x.hex”的名称查找失败”
【问题讨论】:
有许多不同的方法可以按行对 H2OFrame 进行切片。这些方法在Slicing Rows 上的 H2O 用户指南部分中进行了概述。
这是一个 Python 示例,它基于使用 Iris 数据集设置为特定值的列对 H2OFrame 进行子集:
import h2o
h2o.init()
# Load data
path = "http://h2o-public-test-data.s3.amazonaws.com/smalldata/iris/iris_wheader.csv"
df = h2o.import_file(path=path)
# Subset data
mask = df["class"] == "Iris-setosa"
newdf = df[mask, :]
# equivalent to both of these, which also work
# newdf = df[df["class"] == "Iris-setosa", :]
# newdf = df[df["class"] == "Iris-setosa"]
newdf = df[df["class"] == "Iris-setosa"] 版本几乎与您上面的格式相同,除了 H2OFrames 不支持引用这样的列:df.class;您必须使用:df["class"]。
【讨论】: