Getting Type Error试图从panda中的日期范围创建月-年列



我正试图按照提供的解决方案查找两个日期列之间的所有月份并为每个月生成行,但我遇到了一个错误。我想做的是为每一行的startdate和enddate范围中存在的每个年度月份创建一个Year-Month列。当我试图遵循上面链接的堆栈时,我得到错误

TypeError:无法转换输入。。。名称:ServiceStartDate,数据类型:类型<类'pandas.core.sseries.series'>到时间戳

我不知道如何解决这个问题。请帮忙!

样本数据

>结束日期<2024-09-30>2020-11-01年2023-09-302021-01-01年<2022-10-31>
ID StartDate
1 311566 2021-10-01
31570542021-10-01
52558152019-11-01

我已经找到了问题的解决方案(很抱歉响应延迟太长(。问题是我的数据有一个相关的时间戳。我需要使用以下代码将日期字段更改为y/m/-01格式。

df['date] = df['date'].apply(lambda x: x.strftime('%Y-%m-01'))

然后,我使用下面的解决方案将最小日期和最大日期之间存在的所有月/年作为一列。

df.merge(df.apply(lambda s: pd.date_range(df['date'].min(), 
df['date'].max(), freq='MS'), 1).explode("").rename('Month'),
left_index=True, right_index=True)

最新更新