我有一个与此类似的数据集
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
看起来在列名中有空格会给出错误。
答案 0 :(得分:2)
如果您reference them with backticks,您可以在 Pandas 中使用 query
上带有空格的列。
df.query('`Location ID` == 129')
答案 1 :(得分:1)
query
在语法方面非常挑剔。
这里简短的回答是,您在“属性样式”(name_of_dataframe.column_name
)中无法引用的任何列名,您也无法在query
中引用。在这种情况下,df.Location ID
将无效。
作为替代方案,只需使用布尔过滤:
df[df['Location ID'] == 129]