首页 > 解决方案 > 返回两个日期之间的列索引

问题描述

我的列索引是 datetime 类型,如下所示:

df.columns
Out[142]: Index([2017-01-01, 2017-01-20, 2017-02-08, 2017-02-27, 2017-03-18, 2017-04-06,
       2017-04-25, 2017-05-14, 2017-06-02, 2017-06-21, 2017-07-10, 2017-07-29,
       2017-08-17, 2017-09-05, 2017-09-24, 2017-10-13, 2017-11-01, 2017-11-20,
       2017-12-09, 2017-12-28, 2018-01-16, 2018-02-05, 2018-02-24, 2018-03-15,
       2018-04-03, 2018-04-22, 2018-05-11, 2018-05-30, 2018-06-18, 2018-07-07,
       2018-07-26, 2018-08-14, 2018-09-02, 2018-09-21, 2018-10-10, 2018-10-29,
       2018-11-17, 2018-12-06],
      dtype='object')

我试图返回df两个日期之间的索引,但我不知道如何包含这两个条件。

我可以通过一种方式做到这一点:

start = datetime.date(2018, 4, 15)
end = datetime.date(2018, 5, 2)

df.columns < end
Out[146]: array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
    True,  True,  True,  True,  True,  True,  True,  True,  True,
    True,  True,  True,  True,  True,  True,  True,  True, False,
   False, False, False, False, False, False, False, False, False,
   False, False])

但是当我尝试两者时:

start < customer_flag_table.columns < end

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我将如何返回日期之间的索引?

标签: pythonpandas

解决方案


<>不能被束缚

(start < customer_flag_table.columns) &(customer_flag_table.columns < end)

推荐阅读