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

问题描述 投票:0回答:2

我正在尝试比较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”

python pandas list time
2个回答
0
投票

我认为问题是将变量df分配给DatetimeIndex,并且DataFrame.between_time也使用时间,而不是日期时间:

DataFrame.between_time

也许您需要类似的东西:

df=pd.to_datetime(observed_time)

-1
投票

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)

© www.soinside.com 2019 - 2024. All rights reserved.