猿问

python将日期列表与数据框中的开始和结束日期列进行比较

问题:我有一个包含两列的数据框:开始日期和结束日期。我也有一个日期列表。所以让我们说数据看起来像这样:


data = [[1/1/2018,3/1/2018],[2/1/2018,3/1/2018],[4/1/2018,6/1/2018]]

df = pd.DataFrame(data,columns=['startdate','enddate'])


dates=[1/1/2018,2/1/2018]

我需要做的是:


1)为日期列表中的每个日期创建一个新列


2)对于df中的每一行,如果创建的新列的日期在开始和结束日期之间,分配一个1;如果不是,则分配一个 0。


我曾尝试使用 zip 但后来我意识到 df 行将是数千行,其中日期列表将包含大约 24 个项目(跨越 2 年),因此当日期列表用尽时它会停止,即在 24 .


下面是原始 df 的样子以及之后的样子:


前:


   startdate    enddate

0 2018-01-01 2018-03-01

1 2018-02-01 2018-03-01

2 2018-04-01 2018-06-01

后:


  startdate   enddate 1/1/2018 2/1/2018

0  1/1/2018  3/1/2018        1        1

1  2/1/2018  3/1/2018        0        1

2  4/1/2018  6/1/2018        0        0

对此的任何帮助将不胜感激,谢谢!


素胚勾勒不出你
浏览 214回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答