我目前有一个函数,它可以帮助计算两个日期之间的运行总天数,以计算分组记录上的重叠
数据帧示例:
id start_dt end_dt
1 2021-01-01 2021-01-14
1 2021-01-01 2021-01-15
1 2021-01-13 2021-01-16
2 2021-02-01 2021-01-04
2 2021-02-01 2021-01-07
代码:
def make_diff(dg):
prev = dg['Complete_Date'].shift() # the end date of previous row
# compute the actual start date
start = np.where(prev.isna()|(prev<dg['Start_Date']), dg['Start_Date'], prev)
# and returns the Series
return (dg.set_index('index')['Complete_Date'] - (start)).rename('diff')
all_data['diff'] = all_data.reset_index().groupby('ID').apply(make_diff).reset_index(level=0)['diff']
输出:
id start_dt end_dt diff
1 2021-01-01 2021-01-14 14
1 2021-01-01 2021-01-15 1
1 2021-01-13 2021-01-16 1
2 2021-02-01 2021-01-04 4
2 2021-02-01 2021-01-07 3
我希望更新此函数以计算工作日(即busday_count())的日期差异
我一直在尝试使用np.busday_count()来转换输入以实现这一点
任何帮助都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐