Pandas: как запросить имя столбца с пробелом


Вы можете использовать следующий синтаксис для выполнения запроса pandas, используя имя столбца с пробелом:

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

Обратите внимание, что в запросе необходимо использовать кавычки ( ` ) вместо двойных кавычек.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: столбец запроса в Pandas DataFrame с пробелом

Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о различных баскетболистах:

 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: как удалить строки по условию
Панды: как использовать фильтр «НЕТ ВХОДА»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *