import pandas as pd
df1 = pd.DataFrame({
'a': ['2024-01-01 04:00:00', '2023-02-02 20:00:00'],
'id': ['a_1', 'a_2']})
df1['a'] = pd.to_datetime(df1.a)
df2 = pd.DataFrame({
'a': [
'2024-01-01 4:00:00', '2024-01-01 05:00:00',
'2024-01-01 06:00:00', '2024-01-01 07:00:00',
'2024-01-01 08:00:00', '2024-01-01 09:00:00',
'2023-02-02 21:00:00', '2023-02-02 23:00:00']})
df2['a'] = pd.to_datetime(df2.a)
И это ожидаемый результат. Я хочу объединить идентификатор из df1 в df2:
a id
0 2024-01-01 04:00:00 a_1
1 2024-01-01 05:00:00 a_1
2 2024-01-01 06:00:00 a_1
3 2024-01-01 07:00:00 a_1
4 2024-01-01 08:00:00 NaN
5 2024-01-01 09:00:00 NaN
6 2023-02-02 21:00:00 a_2
7 2023-02-02 23:00:00 a_2
Если вы знакомы со свечами, df1.a — это 4-часовая свеча. Например, df1.a.iloc[0]это:
- 2024-01-01 04:00:00
- 2024-01-01 05:00:00
- 2024-01-01 06:00:00
- 2024-01-01 07:00:00
Это моя попытка, но я не знаю, как объединить по диапазону дат:
df1['b'] = df1.a + pd.Timedelta(hours=3)