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».

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *