2016-11-20 72 views
1

我无法找出这个错误。通过多列查询数据框?

df.info() 
<class 'pandas.core.frame.DataFrame'> 
DatetimeIndex: 1048575 entries, 1966-03-31 to 1994-03-31 
Data columns (total 24 columns): 
gvkey   1048575 non-null int64 
tic   1048575 non-null object 

df.query('(gvkey==1690) & (mkt_val> 400)')['2015-03-31':] 

       gvkey tic  conm mkt_val> 
datadate                  
2015-03-31 1690 AAPL APPLE INC  600 
. 
. 
. 

正如你所看到的,有一个'tic'列和一个值'AAPL'。那么,为什么下面的查询返回为错误?与上述查询几乎没有什么不同吗?

df.query('(tic=='AAPL') & (mkt_val> 400)')['2015-03-31':] 

    File "<ipython-input-386-34ae806044b9>", line 1 
    df.query('(tic=='AAPL') & (mkt_val> 400)')['2015-03-31':] 
         ^
SyntaxError: invalid syntax 

一般来说,我有这个大的数据集,日期列作为索引。我总是需要通过不同的标准来查询不同的公司(tic)(在这种情况下,mkt_val> 400)。基于多个标准进行索引时,我总是感到困惑。我应该使数据集多指数(按日期和时间)。这会使我的工作更轻松吗?

回答

3

试试这个弟弟

'(tic=="AAPL") 

注意到我如何使用"不要与'

+0

混淆Python的哇。这是一个简单的修复。谢谢。 – st19297

+1

@ st19297如果您满意,请接受 –