我正在使用python/Pandas分析原始数据,这些数据具有下面的A到C列。我想要做的是添加新的列D,它使用Pandas显示开始日期和结束日期之间的相关月份。似乎开始/结束日期的数据类型是系列的,你能告诉我如何获得这个结果吗?我试着使用datetime模块,但它不能很好地工作,也找不到原因。

。
在文本中:
print (df)
Participants Start Finish Month
1
2 AAA 2021-03-01 2021-05-30 3,4,5
3 BBB 2021-03-01 2021-03-31 3
4 CCC 2021-05-01 2021-07-31 5,6,7
5 DDD 2021-04-01 2021-12-31 4,5,6,7,8,9,10,11,12发布于 2021-03-01 19:26:46
在date_range中使用自定义的lambda函数,将值转换为字符串并连接在一起:
f=lambda x: ','.join(str(y.month) for y in pd.date_range(x['Start'],x['Finish'], freq='MS'))
df['Month'] = df.apply(f, axis=1)
print (df)
Participants Start Finish Month
1
2 AAA 2021-03-01 2021-05-30 3,4,5
3 BBB 2021-03-01 2021-03-31 3
4 CCC 2021-05-01 2021-07-31 5,6,7
5 DDD 2021-04-01 2021-12-31 4,5,6,7,8,9,10,11,12https://stackoverflow.com/questions/66421213
复制相似问题