Я не знаю, что вы ожидали, но ни один из ваших строк не удовлетворяет ваше состояние:
In [7]:
t="""ShiftScheduledEnd,ShiftScheduledStart
16-5-2015 14:30,16-5-2015 6:00
13-7-2015 22:00,13-7-2015 14:00
13-7-2015 22:30,13-7-2015 14:00
13-7-2015 22:00,13-7-2015 14:00"""
df1 = pd.read_csv(io.StringIO(t), parse_dates=[0,1])
print(df1)
CurrentDateVar = pd.to_datetime('14-7-2015 23:45')
CurrentDateVar
ShiftScheduledEnd ShiftScheduledStart
0 2015-05-16 14:30:00 2015-05-16 06:00:00
1 2015-07-13 22:00:00 2015-07-13 14:00:00
2 2015-07-13 22:30:00 2015-07-13 14:00:00
3 2015-07-13 22:00:00 2015-07-13 14:00:00
Out[7]:
Timestamp('2015-07-14 23:45:00')
In [8]:
df1[(df1['ShiftScheduledStart'] < CurrentDateVar) & (df1['ShiftScheduledEnd'] > CurrentDateVar)]
Out[8]:
Empty DataFrame
Columns: [ShiftScheduledEnd, ShiftScheduledStart]
Index: []
Привет Ананд, да на самом деле я хочу, и, но, если я заменю и с и возвращает: значение истинности серии неоднозначно. Используйте a.empty, a.bool(), a.item(), a.any() или a.all(). – F1990
@AnandSKumar Нет, вам нужно использовать побитовые '&' с массивами, я думаю, что OP хочет 'df1 [(df1 ['ShiftScheduledEnd']> CurrentDateVar) & (CurrentDateVar
EdChum
Можете ли вы опубликовать данные, возможно, ваше состояние никогда не удовлетворено – EdChum