我有一个从 hdf5 文件中读取的 vaex 数据框。它有一个日期列,它被读取为字符串。我将其转换为日期时间。但是,我无法进行任何日期比较。我可以从日期中提取日、月、年等,因此转换是正确的。但是如何执行日期在 x 和 y 之间的操作?
import vaex
import datetime
vaex_df=vaex.open('filename.hdf5')
vaex_df['pDate']=vaex_df.Date.values.astype('datetime64[ns]')
数据类型符合预期
print(data.dtypes)
## Date <class 'str'>
## pDate datetime64[ns]
现在我需要根据某个日期过滤掉行
start_date=datetime.date(2019,10,1)
vaex_df=vaex_df[(vaex_df.pDate.dt>=start_date)]
print(vaex_df) # throws SyntaxError: invalid token
当我尝试查看新的数据框时,我得到了一个无效的令牌。我可以分别提取月份和年份并应用过滤器。但这会给出错误的结果
vaex_df=vaex_df[(vaex_df.pDate.dt.month>int(str(start_date)[5:7]))&(vaex_df.pDate.dt.year>=int(str(start_date)[:4]))]
如何在 vaex 中进行日期范围比较操作?