基于日期熊猫数据框的子集

时间:2018-07-25 17:31:53

标签: pandas date subset

我有一个date列,转换为datetime后看起来像这样:

 data['date']=pd.to_datetime(data[date])
 2018-07-20 00:00:00

当我尝试使用此子集时:

 beg = datetime.datetime.strptime('2018-07-20', '%Y-%m-%d')
 end = datetime.datetime.strptime('2018-07-25', '%Y-%m-%d')
 data = data.loc[(data['date']>=beg) & (data['date']<=end)]

我收到此错误:

ValueError:无法使用多维键索引

有人知道我在做什么错吗?

1 个答案:

答案 0 :(得分:1)

一种解决方案是将日期移入数据框索引来使用partial string indexing

MCVE:

df = pd.DataFrame(np.arange(100),index=pd.date_range('2010-01-01',periods=100, freq='45D'))
df.loc['2010-05-10':'2013-12-04']

输出:

             0
2010-05-16   3
2010-06-30   4
2010-08-14   5
2010-09-28   6
2010-11-12   7
2010-12-27   8
2011-02-10   9
2011-03-27  10
2011-05-11  11
2011-06-25  12
2011-08-09  13
2011-09-23  14
2011-11-07  15
2011-12-22  16
2012-02-05  17
2012-03-21  18
2012-05-05  19
2012-06-19  20
2012-08-03  21
2012-09-17  22
2012-11-01  23
2012-12-16  24
2013-01-30  25
2013-03-16  26
2013-04-30  27
2013-06-14  28
2013-07-29  29
2013-09-12  30
2013-10-27  31