我通过
创建了一个hd5文件hdf=pandas.HDFStore(pfad)
hdf.append('df', df, data_columns=True)
我有一个包含名为expirations的numpy.datetime64值的列表,并尝试将hd5表的一部分读入数据帧,该数据帧在expiration [1]和Explirations [0]之间的值为“expiration”。列到期条目的格式为Timestamp('2002-05-18 00:00:00')。
我使用以下命令:
df=hdf.select('df', where=('expiration<expiration[1] & expiration>=expirations[0]'))
但是,我得到ValueError:无法解析x 该如何正确完成?
df.dtypes
Out[37]:
adjusted stock close price float64
expiration datetime64[ns]
strike int64
call put object
ask float64
bid float64
volume int64
open interest int64
unadjusted stock price float64
df.info
Out[36]:
<bound method DataFrame.info of adjusted stock close price expiration strike call put ask date
2002-05-16 5047.00 2002-05-18 4300 C 802.000
有更多列,但它们对查询不感兴趣。
答案 0 :(得分:0)
问题解决了!
我通过
获得了到期 df_expirations=df.drop_duplicates(subset='expiration')
expirations=df['expiration'].values
这显然将数字格式从datetime更改为tz datetime。 我通过使用
重新开发了这个 expirations=df['expirations']
现在这个查询正在运行: del df df = hdf.select('df',where =('expiration = expirations [1]'))
感谢您指出日期时间格式问题。