我有一个从hdf5文件读取的vaex数据帧。它有一个日期列,该列被读取为字符串。我把它转换成了datetime。但是,我不能做任何日期比较。我可以从日期中提取日、月、年等,因此转换是正确的。但是我如何执行像date is介于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中执行日期范围比较操作?
发布于 2020-03-25 08:17:51
来自numpy works的datetime
#Instead of
start_date=datetime.date(2019,10,1)
#Use
start_date=np.datetime64('2019-10-01')在vaex数据帧上
vaex_df=vaex_df[(vaex_df.pDate>=start_date)] https://stackoverflow.com/questions/60816437
复制相似问题