объединение двух кадров h2o выдает исключение: столбцы должны быть одного типа - PullRequest
0 голосов
/ 21 октября 2019

У меня есть две рамки H2O. Оба кадра h2o имеют общие столбцы site_id и timestamp. Мне нужно объединить эти кадры, применив левое соединение. Столбец site_id относится к типу int, а метка времени - к типу времени. Я подтверждаю, что при запуске команды description ().

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

Это возвращает следующую ошибку.

H2OResponseError: Ошибка сервера java.lang.IllegalArgumentException:
Ошибка: Столбцы слияния должны быть одного типа, столбец building_id найдены типы Время и числовой запрос: 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

1 Ответ

0 голосов
/ 21 октября 2019

Я нашел обходной путь. Сначала я соединяю два кадра 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"]]

Тем не менее, я считаю, что это ошибка, которую нужно исправить.

...