Один из возможных вариантов - использовать .loc
и выбирать только те времена, когда минутная часть вашего времени находится в [0, 15, 30, 45]
:
import pandas as pd
import numpy as np
df = (pd.DataFrame({'t1': pd.date_range(start="2020-01-01 13:00 ", end="2020-01-01 14:00", freq="T"),
})
)
df['sea_level'] = np.random.randint(2000, high=3000, size=df.shape[0])/1000
print(df.loc[df['t1'].dt.minute.isin([0, 15, 30, 45])])
, что приводит к
t1 sea_level
0 2020-01-01 13:00:00 2.712
15 2020-01-01 13:15:00 2.049
30 2020-01-01 13:30:00 2.889
45 2020-01-01 13:45:00 2.856
60 2020-01-01 14:00:00 2.571
В качестве альтернативы вы можете использовать функцию modulo, чтобы найти те значения минутной части, которые делятся на 15 без остатка.
Запись данных в файл тогда go с: df.loc[df['t1'].dt.minute.isin([0, 15, 30, 45])].to_excel("file.xlsx")
.