我有一个列表,列出了所有日期为2003年1月1日至2017年6月30日的情况,
[datetime.date(2003, 1, 1), datetime.date(2003, 1, 2), datetime.date(2003, 1, 3), datetime.date(2003, 1, 4), datetime.date(2003, 1, 5), datetime.date(2003, 1, 6), datetime.date(2003, 1, 7), datetime.date(2003, 1, 8), datetime.date(2003, 1, 9), datetime.date(2003, 1, 10), datetime.date(2003, 1, 11)..., datetime.date(2017, 6, 30)]
我有一个数据框df['just_dates']
:
0 2013-01-09
1 2013-01-09
2 2013-01-09
3 2013-01-09
4 2013-01-09
5 2013-01-09
6 2013-01-09
7 2013-01-09
...
20401 2017-06-30
20402 2017-06-30
20403 2017-06-30
20404 2017-06-30
20405 2017-06-30
20406 2017-06-30
20407 2017-06-30
带有datetime.date对象。
我想逐个元素检查数据框中是否存在dates
中的日期。我使用以下代码:
for j in dates:
if j in df['just_dates']:
print(1)
else:
print(0)
我的预期输出为:[0 0 0 ... 1 1 1 ... 1 1 1],但是我只是变成零。 我认为问题出在if语句中,我无法将列表中的对象与数据框中的对象进行比较。我怎样才能做到这一点? 我认为isin方法会检查数据帧中的元素是否在列表中,但反之则希望它。.