python как обьединить два dataframe по полю datetime (при совпадении дня/месяца/года)
import pandas as pd
df_H4['time'].dt.day # день ...
df_H4['time'].dt.month
df_H4['time'].dt.year
df_H4_union = pd.merge(df_H4, df_daily, how='left', left_on='time', right_on='time')
Есть такие два dataframe: Тип поля time: datetime, trend: str/object
df_H4:
| time | trend_H4 |
|---|---|
| 2022-02-18 16:00:00 | down |
| 2022-02-18 20:00:00 | down |
df_dayli:
| time | trend_day |
|---|---|
| 2022-02-17 | down |
| 2022-02-18 | up |
Как корретно их обьединить (левое соединение) по ключю 'time', при совпадении дня/месяца/года?
Условно:
df_H4['time'].dt.day = df_dayli['time'].dt.day
df_H4['time'].dt.month = df_dayli['time'].dt.day
...
df_result: результат должен быть такой
| time | trend_H4 | trend_day |
|---|---|---|
| 2022-02-18 16:00:00 | down | up |
| 2022-02-18 20:00:00 | down | up |
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Можно дату целиком (без времени) выделить в отдельное поле:
df_H4['date'] = df_H4['time'].dt.date