合并两个h2o帧引发异常:列必须是同一类型

2024-10-03 04:30:45 发布

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

我有两个h2o框架。两个h2o帧都有公共的site\u id和timestamp列。我需要通过应用左连接来合并这些帧。site\u id列的类型为int,而timestamp的类型为time。我在运行descripe()命令时确认了这一点

df = h2o.H2OFrame.merge(df1, df2, by_x = ["site_id", "timestamp"], by_y=["site_id", "timestamp"])
df.head()

这将返回以下错误

H2OResponseError: Server error java.lang.IllegalArgumentException:
Error: Merging columns must be the same type, column building_id found types Time and Numeric Request: POST /99/Rapids data: {'ast': "(tmp= py_7_sid_aff9 (merge py_4_sid_aff9 weather_train.hex False False [2 4] [0 1] 'auto'))", 'session_id': '_sid_aff9'}

我使用的数据集可以从链接https://www.kaggle.com/c/ashrae-energy-prediction访问


Tags: py框架idfalse类型dfbytime
1条回答
网友
1楼 · 发布于 2024-10-03 04:30:45

我找到了解决办法。我首先将两个h2o框架与第一列连接起来。这会导致列重复。之后,我过滤t1和t2列中具有相同时间戳值的行

train_meta_df.columns[2] = "t1" #rename timestamp column
weather_train_df.columns[1] = "t2"

df = h2o.H2OFrame.merge(df1, df2, by_x = ["site_id"], by_y=["site_id"])
df = df[df["t1"] == df["t2"]]

不过,我相信这是一个需要修复的错误

相关问题 更多 >