有没有有效的方法将Pandas DataFrame转换为H2O Frame?

时间:2019-02-05 19:03:49

标签: python pandas performance dataframe h2o

我有一个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个小时。有没有更好的方法来执行此操作?

1 个答案:

答案 0 :(得分:1)

  1. 将熊猫数据框保存到csv文件中。 (当然,如果您首先是从csv文件加载的,请跳过此步骤,当然,还没有对它进行任何数据处理。)

  2. 将该csv文件放置在h2o服务器可以看到的位置。 (如果您正在同一台计算机上运行客户端和服务器,则已经是这种情况。)

  3. 使用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(),然后删除临时文件。)