Pandas:如何查询带空格的列名


您可以使用以下语法使用带有空格的列名来执行 pandas 查询:

 df. query (' `this column` == 20 ')

请注意,您必须在查询中使用引号 ( ` ),而不是双引号。

以下示例展示了如何在实践中使用此语法。

示例:Pandas DataFrame 中带有空格的查询列

假设我们有以下 pandas DataFrame,其中包含有关各种篮球运动员的信息:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], 
                    ' points scored ': [12, 20, 40, 20, 24, 10, 31]}) 

#view DataFrame
print (df)

  team points scored
0 to 12
1 B 20
2 C 40
3 D 20
4 E 24
5 F 10
6 G 31

现在假设我们要查询标记点列等于 20 的行。

如果我们使用带引号的query()函数,我们将收到错误:

 #attempt to get rows where points scored column is equal to 20
df. query (' "points scored" == 20 ')

TypeError: argument of type 'int' is not iterable

相反,我们需要使用带有反引号的query()函数:

 #get rows where points scored column is equal to 20
df. query (' `points scored` == 20 ')

	team points scored
1 B 20
3 D 20

该查询返回 DataFrame 的两行,其中标记点的列等于 20。

请注意,我们也没有收到任何错误,因为我们在query()函数中使用了引号而不是引号。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

Pandas:如何根据字符串长度过滤行
Pandas:如何根据条件删除行
Pandas:如何使用“NO IN”过滤器

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注