【发布时间】:2019-10-11 04:27:37
【问题描述】:
我有一个pandas 特定资产(A、B、...)的合同数据框。每个合同都有一个开始日期、结束日期(包括两个日期)和一个日期(合同不能重叠)。我想生成一个表格,显示在指定期间(即日期范围,在本例中为季度)内的总天数,每项资产都已签订合同。然后,我想计算每项资产的总收入(日费率 * 合同天数)。
我从生成季度结束日期列表开始,但不知道如何继续:
pd.date_range(start='9/30/2019',end='12/31/2020',freq='Q').tolist()
这是我的示例数据:
pd.DataFrame([['A', pd.to_datetime('07/30/2019'), pd.to_datetime('08/25/2019'), 5], ['B', pd.to_datetime('08/30/2022'), pd.to_datetime('09/30/2019'), 10], ['A',pd.to_datetime('09/30/2019'),pd.to_datetime('10/31/2019'), 2]], columns=['Asset', 'start', 'end', 'dayrate']).set_index('Asset')
start end dayrate
Asset
A 2019-07-30 2019-08-25 5
B 2022-08-30 2019-09-30 10
A 2019-09-30 2019-10-31 2
【问题讨论】: