Python 如何最好地处理列表或数据帧中的日期时间?

Python 如何最好地处理列表或数据帧中的日期时间?,python,pandas,list,time,Python,Pandas,List,Time,我试图比较datetime或dataFrame的列表,但它给了我一些错误,如 AttributeError:'DatetimeIndex'对象没有'between_time'或'loc'属性 Example Data: observed_time = ['2020-02-20T15:54:00Z', '2020-02-20T16:54:00Z'] slice_begin_time=['2020-02-20T17:50:00Z', '2020-02-20T18:50:00Z', '2020-0

我试图比较datetime或dataFrame的列表,但它给了我一些错误,如

AttributeError:'DatetimeIndex'对象没有'between_time'或'loc'属性

Example Data: 
observed_time = ['2020-02-20T15:54:00Z', '2020-02-20T16:54:00Z']

slice_begin_time=['2020-02-20T17:50:00Z', '2020-02-20T18:50:00Z', '2020-02-20T19:50:00Z', '2020-02-20T20:50:00Z', '2020-02-20T21:50:00Z']
slice_end_time=['2020-02-20T18:05:00Z', '2020-02-20T19:05:00Z', '2020-02-20T20:05:00Z', '2020-02-20T21:05:00Z', '2020-02-20T22:05:00Z']

### LIBS
from datetime import datetime, timedelta
import pandas as pd

df=pd.to_datetime(check_time)
for i in range(len(slice_begin_time)):
    sdf = df.between_time(pd.Timestamp(slice_begin_time[i]),pd.Timestamp(slice_begin_time[i]))
    print(sdf)
我试过了

 #print(check_time.loc[(check_time > pd.to_datetime(slice_begin_time[i])) & (check_time < pd.to_datetime(slice_end_time[i]))])
#打印(check_time.loc[(check_time>pd.to_datetime(slice_begin_time[i])和(check_time
去找出什么地方出了问题,但它给了我

AttributeError:“DatetimeIndex”对象没有属性“loc”


我认为问题在于变量
df
被分配给
DatetimeIndex
,也与时间有关,而不是与日期时间有关:

df=pd.to_datetime(observed_time)
您可以
zip
两个列表并使用:

应更改您的解决方案:

s = pd.Series(pd.to_datetime(observed_time))
for i in range(len(slice_begin_time)):
    sdf = s[s.between(pd.Timestamp(slice_begin_time[i]),pd.Timestamp(slice_end_time[i]))]
    print(sdf)

我认为问题在于变量
df
被分配给
DatetimeIndex
,也与时间有关,而不是与日期时间有关:

df=pd.to_datetime(observed_time)
您可以
zip
两个列表并使用:

应更改您的解决方案:

s = pd.Series(pd.to_datetime(observed_time))
for i in range(len(slice_begin_time)):
    sdf = s[s.between(pd.Timestamp(slice_begin_time[i]),pd.Timestamp(slice_end_time[i]))]
    print(sdf)