Фильтрация в Dask работает так же, как pandas, с удалением нескольких вспомогательных функций.
Например, если у вас были следующие данные:
time,A,B
6/18/2020 09:00,29,0.330799201
6/18/2020 10:15,30,0.518081116
6/18/2020 18:25,31,0.790506469
Следующий код:
import dask.dataframe as dd
df = dd.read_csv('*.csv', parse_dates=['time']).set_index('time')
df.loc[(df.index > "09:30") & (df.index < "16:00")].compute()
(при запуске 18 июня 2020 г.) вернет:
time,A,B
2020-06-18 10:15:00,30,0.518081
РЕДАКТИРОВАТЬ:
Вышеупомянутые фильтры ответов только для текущей даты; pandas интерпретирует строку времени как значение datetime с текущей датой. Если вы хотите отфильтровать значения для всех дней между указанными c временами, существует обходной путь для удаления даты из столбца datetime:
import dask.dataframe as dd
df = dd.read_csv('*.csv',parse_dates=['time'])
df["time_of_day"] = dd.to_datetime(df["time"].dt.time.astype(str))
df.loc[(df.time_of_day > "09:30") & (df.time_of_day < "16:00")].compute()
Имейте в виду, что этот метод может иметь штраф за скорость , возможно, проблема для больших наборов данных.