1

h2o の内部データ モデルが列指向であることは知っています (つまり、H2OFrame は H2OVec のコレクションです)。ただし、使用したいライブラリでは、H2OFrame の行を反復処理する必要があります。

行にイテレータを取得するクリーンな方法はありますか、または次のようなインデックス作成に頼る必要がありますか

iris = h2o.import_file(path=".../iris_wheader.csv")
for i in xrange(iris.nrow):
    foo( iris[i,:].as_data_frame(use_pandas=False)[1] )

遅くなることはわかっていますが、h2o.h2o.export_file可能な場合は使用しています。

4

2 に答える 2

1

クリフが言ったこと (より速い方法) に加えて、データ フレーム全体を Python 空間にプルしてから反復処理することもできます。

pd_frame = h2o_frame.as_data_frame(use_pandas=True)

最後にパンダが欲しくない場合:

np_array = h2o_frame.as_data_frame(use_pandas=True).as_matrix()

ライブラリについてもう少し詳しく説明すると、質問への回答が向上する可能性があります。

于 2015-12-17T23:42:03.887 に答える
1

行ごとに適用できます。 iris.apply(foo,1)

fooh2o が理解するラムダはどこにありますか (そこに入ることができるものにはいくつかの制限がありますが、すべての基本的な数学演算は正常に動作するはずです)。

于 2015-12-17T19:26:44.277 に答える