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