Наложить один DataFrame на другой по Datetime

В первом датафрейме у меня значения с интервалом раз в минуту

DateTime1             Value1
2021-01-15 17:19:00   73.681
2021-01-15 17:20:00   73.694
2021-01-15 17:21:00   73.704
2021-01-15 17:22:00   73.708

Во втором значения располагаются в другое время с точностью до секунды

DateTime2             Value2
2021-01-15 17:20:11   73.6768
2021-01-15 17:20:16   73.6767
2021-01-15 17:20:58   73.6700
2021-01-15 17:21:01   73.6584
2021-01-15 17:21:08   73.6614

Я бы хотел их наложить по дате, чтобы в итоговом датафрейме были и Value1 и Value2 по типу:

DateTime              Value1  Value2
2021-01-15 17:19:00   73.681  NaN
2021-01-15 17:20:00   73.694  NaN
2021-01-15 17:20:11   NaN     73.6768
2021-01-15 17:20:16   NaN     73.6767
2021-01-15 17:20:58   NaN     73.6700
2021-01-15 17:21:00   73.704  NaN
2021-01-15 17:21:01   NaN     73.6584
2021-01-15 17:21:08   NaN     73.6614
2021-01-15 17:22:00   73.708  NaN

Я пробовал .join и .merge, но они либо исключали значения первого, которые не включены во второе, либо добавляли значения второго датафрейма в конец первого, а я бы хотел их именно наложить друг на друга

Пример данных


Ответы (1 шт):

Автор решения: strawdog

Вообще ваша задача решается простым merge, если я правильно понял вопрос. при ваших данных делаем просто

df1=pd.read_csv("Values1.csv", sep=";", index_col=0, parse_dates=["DateTime1"])
df2=pd.read_csv("Values2.csv", sep=";", index_col=0, parse_dates=["DateTime2"])

res = pd.merge(df1,df2, how='outer', left_index=True, right_index=True)

получаем res:

                     Value1   Value2
2021-01-15 17:19:00  73.681      NaN
2021-01-15 17:20:00  73.694      NaN
2021-01-15 17:20:11     NaN  73.6768
2021-01-15 17:20:16     NaN  73.6767
2021-01-15 17:20:21     NaN  73.6807
2021-01-15 17:20:25     NaN  73.6759
2021-01-15 17:20:30     NaN  73.6794
2021-01-15 17:20:35     NaN  73.6765
2021-01-15 17:20:41     NaN  73.6654
2021-01-15 17:20:47     NaN  73.6650
2021-01-15 17:20:53     NaN  73.6725
2021-01-15 17:20:58     NaN  73.6700
2021-01-15 17:21:00  73.704      NaN
2021-01-15 17:21:01     NaN  73.6584
2021-01-15 17:21:08     NaN  73.6614
2021-01-15 17:22:00  73.708      NaN
→ Ссылка