我有一個簡單的系列:第一個值是不可搜索的
>>> sub_dim_metrics
date
2017-04-04 00:00:00+00:00 32.38
2017-04-03 00:00:00+00:00 246.28
2017-04-02 00:00:00+00:00 146.25
2017-04-01 00:00:00+00:00 201.98
2017-03-31 00:00:00+00:00 274.74
2017-03-30 00:00:00+00:00 257.82
2017-03-29 00:00:00+00:00 279.38
2017-03-28 00:00:00+00:00 203.53
2017-03-27 00:00:00+00:00 250.65
2017-03-26 00:00:00+00:00 180.59
2017-03-25 00:00:00+00:00 196.61
2017-03-24 00:00:00+00:00 281.04
2017-03-23 00:00:00+00:00 276.44
2017-03-22 00:00:00+00:00 227.55
2017-03-21 00:00:00+00:00 267.59
Name: area, dtype: float64
>>> sub_dim_metrics.index
DatetimeIndex(['2017-04-04', '2017-04-03', '2017-04-02', '2017-04-01',
'2017-03-31', '2017-03-30', '2017-03-29', '2017-03-28',
'2017-03-27', '2017-03-26', '2017-03-25', '2017-03-24',
'2017-03-23', '2017-03-22', '2017-03-21'],
dtype='datetime64[ns, UTC]', name=u'date', freq=None)
在我的代碼後來,我檢索使用以下格式特定日期的區域:sub_dim_metrics['2017-04-02']
,例如。
之前,我檢索某一天區,我首先驗證指定的日期的系列,像這樣:if '2017-04-02' in sub_dim_metrics.index
我的問題是,在指數的第一個值沒有返回true,而休息做:
>>> '2017-04-02' in sub_dim_metrics.index
True
>>> '2017-04-04' in sub_dim_metrics.index
False
爲什麼這和什麼是最好的方式來驗證日期是在我的系列之前檢索其相應的值?
您可以使用s.get_value(),並檢查是否返回爲空。當找不到密鑰時,get_value()不會引發異常。我使用get_value而不是索引標籤。 –