两个日期之间的数据帧索引/过滤

时间:2016-02-24 12:59:07

标签: python numpy dataframe

在python中,我有一个带有日期列的数据框,从这里我得到df索引到特定日期。

我希望在第二个测试idx中有一个'在日期A和日期B之间'作为过滤器,而不是仅仅按照以下方式使用日期(换句话说,我正在采用较小的子集进行初始测试而不是说一大堆数据)

train_idx = np.array(df.Date < '2016-01-01')
test_idx = np.array(df.Date >= '2016-01-01')

以下是我到目前为止所遇到的错误

df = pd.read_csv('./data.csv', parse_dates=[1])

train_idx = np.array(df.Date < '2016-01-01')
test_idx = np.array(df.Date >= '2016-01-01' and df.Date <='2016-03-01')

返回以下内容 ValueError:Series的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

1 个答案:

答案 0 :(得分:1)

and替换为&,如下所示:

(df.Date >= '2016-01-01') & (df.Date <= '2016-03-01')

运算符&以元素方式运算,而and尝试将两个系列组合起来,就像它们是单独的布尔值一样。真值是含糊不清的意味着将一系列强制转换为TrueFalse并不合理。