Рассчитать дни между двумя столбцами datetime в dask dataframe - PullRequest
0 голосов
/ 22 октября 2018

У меня есть фрейм данных dask, который содержит два столбца в формате строки, например:

start_date  end_date
2018-09-01  2018-10-01
2018-09-02  2018-09-22
...

Я хотел бы рассчитать количество дней между двумя столбцами.Если это фрейм данных pandas, я могу сделать:

df["num_days"] = (df["end_day"]-df["start_date"]).apply(lambda s:s.total_seconds()/24/60/60)

Но в фрейме данных dask это, похоже, не работает.В любом случае, чтобы вычислить прошедшие дни между столбцами в этом случае?

Спасибо

1 Ответ

0 голосов
/ 22 октября 2018

dask.dataframe поддерживает полезное подмножество API Pandas, включая методы Series.dt.Следовательно, вы можете использовать эту функцию напрямую:

import dask.dataframe as dd

df = dd.read_csv(r'file.csv', delim_whitespace=True,
                 parse_dates=['start_date', 'end_date'])

df['days'] = (df['end_date'] - df['start_date']).dt.days

print(df.compute())

  start_date   end_date  days
0 2018-09-01 2018-10-01    30
1 2018-09-02 2018-09-22    20
...