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