如何在H2OFrame中放置行?

2024-04-20 13:55:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在h2or包中工作了很长时间,但最近不得不转向python包。在

在大多数情况下,H2OFrame被设计成像pandasDataFrame对象一样工作。然而,有几个障碍我还没能克服。。。在熊猫,如果我想放弃一些行:

df.drop([0,1,2], axis=0, inplace=True)

但是,我不知道如何对H2OFrame执行相同的操作:

^{pr2}$

{a1}显然,这并不是他们的源文件的工作方式:

def drop(self, i):
    """Drop a column from the current H2OFrame.

有没有办法从H2OFrame中删除行?在


Tags: 对象truedfa1情况drop障碍源文件
2条回答

由于现在支持这一点,我想强调一下如何按索引删除:

df = df.drop([0,1,2], axis=0)

其中,如果axis=1(默认),则删除列;如果axis=0,则删除行。在

drop(index, axis=1)

其中index是要删除的列索引、列名或行索引的列表;或者是按名称删除单个列的字符串;或者是按索引删除单个列的int。在

目前,H2OFrame.drop方法不支持这种方法,但是我们添加了一个ticket来添加对删除多行(和多个列)的支持。在

同时,您可以按索引对行进行子集:

import h2o
h2o.init(nthreads = -1)

hf = h2o.H2OFrame([[1,3],[4,5],[3,0],[5,5]])  # 4 rows x 2 columns
hf2 = hf[[1,3],:]  # Keep some of the rows by passing an index

注意,索引列表[1,3]是有序的。如果您尝试传递[3,1],您将得到一个错误。H2O不会重新排列行,这是它告诉你的方式。如果您有一个无序索引列表,只需先将sorted函数包装起来。在

^{pr2}$

最后,如果愿意,也可以将新的子集合帧重新指定给原始帧名称,如下所示:

hf = hf[[1,3],:]

相关问题 更多 >