【发布时间】:2020-09-01 06:33:47
【问题描述】:
我有一个 pandas 数据框,其中包含如下所示的数据
import pandas as pd
data = [['0','2018-03-01','2020-04-11'],['1','2017-11-17','2020-11-16'],['2','2017-07-12','2020-07-12']]
df = pd.DataFrame(data,columns=['account_number','contract_start_date','contract_end_date'])
df
我需要使用contract_start_date 和contract_end_date 将每个账户的合约分成365 天。最后一个时期需要包含剩余的任何天数。下面是一个例子
到目前为止我所尝试的: 我试图创建一个新的数据框,并认为我可以使用日期范围生成 365 个周期。它没有像我希望的那样工作。非常感谢任何指导。
new_df= pd.concat([pd.DataFrame({'start_date': pd.date_range(row.contract_start_date, row.contract_end_date, freq ='365D'),
'account_number': row.account_number
}) for row in df.itertuples()], ignore_index=True)
new_df
【问题讨论】:
-
您是否考虑过闰年?
-
@DerekO 我需要 365 天的周期,中间是否有闰年(例如 2020 年)并不重要