我的列索引的类型为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()
如何返回日期之间的索引?
答案 0 :(得分:0)
<>
不能链接
(start < customer_flag_table.columns) &(customer_flag_table.columns < end)
答案 1 :(得分:0)
由于您的DataFrame
具有datetime
作为索引,因此您可以像这样使用.loc
切片:
df.loc(axis=1)['2018-04-15': '2018-05-02']
dates 2018-04-22
some_data 0.050737
这里的another answer处理您的datetime
是否不是索引。