计算 dask 数据框中 2 个日期时间列之间的天数

Calculate days between 2 datetime columns in dask dataframe

我有一个包含两列的 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 数据帧中,这似乎不起作用。无论如何计算在这种情况下列之间经过的天数?

谢谢

dask.dataframe supports a useful subset of the Pandas API, including 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