我有一个数据框,它有两个日期列:
Date1 Date2
2018-10-02 2018-12-21
2019-01-20 2019-04-30
等等
我想创建一个第三列,基本上是一个包含两个日期之间所有月份的列,如下所示:
Date1 Date2 months
2018-10-02 2018-12-21 201810
2018-10-02 2018-12-21 201811
2018-10-02 2018-12-21 201812
2019-01-20 2019-04-30 201901
2019-01-20 2019-04-30 201902
2019-01-20 2019-04-30 201903
2019-01-20 2019-04-30 201904
我该怎么做?我试着用这个公式:
df['months']=df.apply(lambda x: pd.date_range(x.Date1,x.Date2, freq='MS').strftime("%Y%m"))
但是我没有得到想要的结果。请帮忙。谢谢
与
pd.date_range
和join
一起使用groupby
。你知道吗注意:我用了
replace(day=1)
,以确保我们每个月都能捕到鱼。你知道吗输出
您可以融化数据、重新采样和合并回:
输出:
使用
merge
相关问题 更多 >
编程相关推荐