我的数据框df_hq
显示如下
df_hq.index.values
Out[26]:
array([('000001.SZ', Timestamp('2009-01-05 00:00:00')),
('000001.SZ', Timestamp('2009-01-06 00:00:00')),
('000001.SZ', Timestamp('2009-01-07 00:00:00')), ...,
('603999.SH', Timestamp('2016-03-30 00:00:00')),
('603999.SH', Timestamp('2016-03-31 00:00:00')),
('603999.SH', Timestamp('2016-04-01 00:00:00'))], dtype=object)
我想知道在使用date.i访问数据之前索引中的日期是否尝试以下方法。其中没有一个工作。
'000001.SZ' in df_hq.index
Out[27]: True
'2009-01-05 00:00:00' in df_hq.index
Out[28]: False
pandas.Timestamp('2009-01-05 00:00:00') in df_hq.index
Out[29]: False
datetime.date(2009,1,5) in df_hq.index
Out[30]: False
日期2009-01-05实际上是在索引中,但是,上面的答案是错误的 如何检查索引中是否有日期?
答案 0 :(得分:2)
如果这是带有元组的索引,则只能轻松搜索特定元组。
('000001.SZ', Timestamp('2009-01-05 00:00:00')) in df_hq.index
我会将其更改为MultiIndex以获得更好的功能。
df_hq.index = pd.MultiIndex.from_tuples(df_hq.index.values)
然后你可以看到Timestamp('2009-01-05 00:00:00')
是否在索引中,而不管元组的第一部分是什么:
Timestamp('2009-01-05 00:00:00') in df_hq.index.levels[1]