Python 列为整数时出现查询错误
我有一个类似的数据集Python 列为整数时出现查询错误,python,pandas,Python,Pandas,我有一个类似的数据集 Location Name 129 Hospital A 130 Hospital B 105 Hospital C 我正在尝试查询以仅获取位置为129的行 我正在尝试使用以下代码: df.query('Location == 129') 我得到一个无效的语法错误。如果列包含字符串,则不会出现这些错误 更新: 很抱歉,生成错误是因为我的位置标签是位置ID Location ID Name 129
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
在列名中使用空格似乎会导致该错误 在语法方面可能非常挑剔
这里的简短回答是,任何在“属性样式”(dataframe.column\u name)中无法引用的列名,也不能在查询中引用。在这种情况下,df.Location ID
将无效
或者,只需使用布尔筛选:
df[df['Location ID'] == 129]
在语法方面可能非常挑剔
这里的简短回答是,任何在“属性样式”(dataframe.column\u name
)中无法引用的列名,也不能在查询中引用。在这种情况下,df.Location ID
将无效
或者,只需使用布尔筛选:
df[df['Location ID'] == 129]
如果需要,可以在Pandas中的query
上使用带空格的列
df.query('`Location ID`==129')
如果需要,您可以在Pandas中的query
上使用带空格的列
df.query('`Location ID`==129')
使用pandas 0.20.3,您的代码运行良好。你的版本是什么?这似乎是一个bug。在我这边没问题。对不起,location列被称为location ID。我注意到,当使用带有空格的标签的查询时,它会出现错误。请参阅关于这个开放问题的讨论:您的代码在pandas 0.20.3中运行良好。你的版本是什么?这似乎是一个bug。我这边没问题。对不起,位置列称为位置ID。我注意到,当使用带有空格的标签的查询时,会出现错误。请参阅有关此开放问题的讨论: