Pandas: як вибрати стовпці, що містять певний рядок


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

Спосіб 1: Виберіть стовпці, що містять певний рядок

 df. filter (regex=' string1 ')

Спосіб 2: Виберіть стовпці, що містять один із кількох рядків

 df. filter (regex=' string1|string2|string3 ')

Наступні приклади показують, як використовувати кожен із цих методів на практиці з такими pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
                   ' cavs ': [18, 22, 19, 14, 14, 11, 20],
                   ' hornets ': [5, 7, 7, 9, 12, 9, 14],
                   ' spurs ': [10, 12, 14, 13, 13, 19, 22],
                   ' net ': [10, 14, 25, 22, 25, 17, 12]})

#view DataFrame
print (df)

   mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12

Приклад 1: Виберіть стовпці, що містять певний рядок

Наступний код показує, як використовувати функцію filter() для вибору лише стовпців, які містять рядок “avs” десь у своєму імені:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs ')

#view DataFrame
print (df2)

   mavs cavs
0 10 18
1 12 22
2 14 19
3 15 14
4 19 14
5 22 11
6 27 20

Повертаються лише стовпці з “avs” у назві.

У цьому випадку “mavs” і “cavs” є єдиними стовпцями, що повертаються.

Приклад 2: Виберіть стовпці, що містять один із кількох рядків

Наступний код показує, як використовувати функцію filter() для вибору лише стовпців, які містять «avs» або «ets» десь у своєму імені:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs|ets ')

#view DataFrame
print (df2)

   mavs cavs hornets nets
0 10 18 5 10
1 12 22 7 14
2 14 19 7 25
3 15 14 9 22
4 19 14 12 25
5 22 11 9 17
6 27 20 14 12

Повертаються лише стовпці з “avs” або “ets” в імені.

Зверніть увагу, що вертикальна смуга ( | ) є оператором « АБО » в pandas.

Не соромтеся об’єднати стільки операторів «АБО», скільки забажаєте, щоб вибрати стовпці, що містять один із багатьох різних рядків.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: Як перемістити стовпець перед DataFrame
Pandas: як перевірити, чи містить стовпець рядок
Pandas: Як додати порожній стовпець до DataFrame (3 приклади)

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

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