作为之前问题的补充,关于在两个日期时间之间计算活动次数,这里有一个很好的解答:创建一个跨越日期范围的 Pandas 数据帧并计算项目数量。
剩下的问题是,在两个表相加和相减后,最终月份 ['END_DATE'] 的值显示为零。从数学上讲这是正确的,因为所有项目的结束日期在当前月或之前,然而在这种情况下,由于它们在该月份内至少活动了一部分,更正确的做法是将 END_DATE 加 1 个月,这样它们将显示为活动在结束月份(H2 是一个数据帧)。
代码如下:
剩下的问题是,在两个表相加和相减后,最终月份 ['END_DATE'] 的值显示为零。从数学上讲这是正确的,因为所有项目的结束日期在当前月或之前,然而在这种情况下,由于它们在该月份内至少活动了一部分,更正确的做法是将 END_DATE 加 1 个月,这样它们将显示为活动在结束月份(H2 是一个数据帧)。
代码如下:
ends = H2['END_DATE'].apply(lambda t: t.to_period(freq='m')).value_counts()
我曾试过使用rollforward和DateOffset(month=1)等方法。例如,对于DateOffset:
ends = (H2['END_DATE'].DateOffset(months=1)).apply(lambda t: t.to_period(freq='m')).value_counts()
这让我遇到了这个错误:
AttributeError: 'Series' object has no attribute 'DateOffset'