如何在python中对h2o帧进行子集化。 如果x是df& Origin是一个变量然后在大熊猫中我们通常可以通过
进行子集化x[x.Origin == 'AAF']
但是使用h2o框架会出现以下错误: " H2OResponseError:服务器错误java.lang.IllegalArgumentException: 错误:' x.hex'的名称查找失败"
答案 0 :(得分:8)
有许多不同的方法可以逐行切割H2OFrame。这些方法在Slicing Rows上的H2O用户指南部分中列出。
以下是使用Iris数据集根据设置为特定值的列对H2OFrame进行子集化的Python示例:
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"]
版本几乎与您上面的格式相同,但H2O框架不支持引用这样的列:df.class
;你必须使用:df["class"]
。