Pandas: як запитати назву стовпця з пробілом
Ви можете використовувати такий синтаксис для виконання запиту pandas, використовуючи назву стовпця з пробілом:
df. query (' `this column` == 20 ')
Зверніть увагу, що ви повинні використовувати лапки ( ` ) у запиті замість подвійних лапок.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: стовпець запиту в Pandas 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: як видалити рядки на основі умови
Pandas: як використовувати фільтр «NO IN».