我有一个Pandas数据框,我需要将其转换为H2O框。我使用以下代码-
代码:
# Convert pandas dataframe to H2O frame
start_time = time.time()
input_data_matrix = h2o.H2OFrame(input_df)
logger.debug("3. Time taken to convert H2O Frame- " + str(time.time() - start_time))
输出:
2019-02-05 04:38:55,238记录器调试3.转换H2O所需的时间 框架9320.119945764542
数据帧(即input_df
)大小为183K x 435,没有空值或NaN值。
大约需要2个小时。有没有更好的方法来执行此操作?
答案 0 :(得分:1)
将熊猫数据框保存到csv文件中。 (当然,如果您首先是从csv文件加载的,请跳过此步骤,当然,还没有对它进行任何数据处理。)
将该csv文件放置在h2o服务器可以看到的位置。 (如果您正在同一台计算机上运行客户端和服务器,则已经是这种情况。)
使用h2o.import_file()
(优先于h2o.upload_file()
或h2o.H2OFrame()
)
h2o.import_file()
是将数据获取到H2O的最快方法,但是文件必须对服务器可见。在处理远程集群时,这可能意味着将其上传到该服务器文件系统,或将其放置在Web服务器,HDFS集群或AWS S3等上。
(h2o.upload_file()
较慢的原因是它将对客户端到服务器的数据进行HTTP POST,而h2o.H2OFrame()
则较慢,因为它将熊猫数据导出到临时csv文件,然后使用h2o.upload_file()
,然后删除临时文件。)