我不熟悉python和数据框架。这是我的数据帧的创建代码
data = pd.read_csv('trafikdensity.csv',parse_dates=True,index_col=0)
我要筛选1月份所有日期的“07:00:00”和“21:00:00”之间的数据。此数据帧包括一月的所有日期。首先,我转换为datetime对象,并尝试进行筛选
data['DATE_TIME'] = pd.to_datetime((data['DATE_TIME']))
data[data['DATE_TIME'].dt.strftime('%H:%M:%S').between('07:00:00','21:00:00')]
它给了我一个空数据。然后,我尝试了另一种方法。它也给了我一个空数据
start_date01 = '2020-01-01 07:00:00'
end_date01 = '2020-01-01 21:00:00'
start_date02 = '2020-01-02 07:00:00'
end_date02 = '2020-01-02 21:00:00'
start_date03 = '2020-01-03 07:00:00'
end_date03 = '2020-01-03 21:00:00'
#greater than the start date and smaller than the end date
m1 = (data['DATE_TIME'] > start_date01) & (data['DATE_TIME'] <= end_date01)
m2 = (data['DATE_TIME'] > start_date02) & (data['DATE_TIME'] <= end_date02)
m3 = (data['DATE_TIME'] > start_date03) & (data['DATE_TIME'] <= end_date03)
data = data[np.logical_and.reduce([m1, m2, m3])]
我错过了什么?或者我可以用不同的方法解决我的问题吗?在执行这些操作时,我利用了Stackoverflow中的解决方案。但他们都没有找到解决办法
yearfirst参数必须设置为true
相关问题 更多 >
编程相关推荐