【问题标题】:Relevant months between start and finish dates-Python开始日期和结束日期之间的相关月份-Python
【发布时间】:2021-03-01 11:23:29
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: python pandas datetime


    【解决方案1】:

    使用 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,12
    

    【讨论】:

      猜你喜欢
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      相关资源
      最近更新 更多