我有一个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:无法使用多维键索引
有人知道我在做什么错吗?
答案 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