2017-10-17 73 views
0

我有类似这样熊猫当列是一个整数

Location Name 
129   Hospital A 
130   Hospital B 
105   Hospital C 

我想查询只得到与位置129

我尝试使用下面的代码行的数据集查询错误:

df.query('Location == 129') 

我得到一个无效的语法错误。如果列中包含字符串,我不会收到这些错误。

更新: 我道歉,正在产生的错误,因为我的位置标签是位置ID

Location ID Name 
    129   Hospital A 
    130   Hospital B 
    105   Hospital C 

它看起来像在列名具有空间给出了错误。

+1

您的代码运行正常与大熊猫0.20.3。你的版本是什么?这看起来像一个错误。 – ayhan

+0

在我这边没关系 – Wen

+0

对不起,位置列被称为位置ID。我注意到,当使用查询与它有空间的标签时,它给出了该错误 – user2067030

回答

1

query在语法上可能非常挑剔。

这里的简短答案是您无法在“属性样式”(name_of_dataframe.column_name)中引用的任何列名称,您也不能在query中引用。在这种情况下,df.Location ID将无效。

作为替代方案,只需使用布尔过滤:

df[df['Location ID'] == 129]