如何检查数据框中是否存在列表中的元素?

时间:2019-05-30 06:41:01

标签: python pandas

我有一个列表,列出了所有日期为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方法会检查数据帧中的元素是否在列表中,但反之则希望它。.

0 个答案:

没有答案