我正在尝试比较datetime或dataFrame的列表,但它给了我一些类似th的错误
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]))])
找出什么地方出了问题,但后来却给了我
AttributeError:“ DatetimeIndex”对象没有属性“ loc”
我认为问题是将变量df
分配给DatetimeIndex
,并且DataFrame.between_time
也使用时间,而不是日期时间:
DataFrame.between_time
也许您需要类似的东西:
df=pd.to_datetime(observed_time)
pf = pd.to_datetime(arg,errors ='raise',dayfirst = False,yearfirst = False,utc = None,format = None,确切= True,unit = None,infer_datetime_format = False,origin ='unix', cache = True)