Получить список заголовков столбцов на основе списка строк - PullRequest
2 голосов
/ 22 марта 2020

Проблема: у меня есть фрейм данных с различными заголовками столбцов, имена которых имеют вариации нескольких строк: 'Fee_code', 'zip_code', et c. а также некоторые другие с: 'street_address', 'violing_street address', et c.

Ожидаемый результат: список со всеми заголовками столбцов, которые соответствуют ключевым словам: плата, адрес, код, имя и, возможно, другие, основанные на указанном файле c, над которым я буду работать. Обратите внимание, что я действительно хочу сохранить заголовок столбца «название агентства».

Решение: я придумал эту функцию, чтобы вывести список всех строк, перечисленных выше - и некоторые другие -:

def drop_cols(df):
    list1= list(df.filter(like='nam', axis=1))
    list1.remove('agency_name')
    list2= list(df.filter(like='add', axis=1))
    list3= list(df.filter(like='fee', axis=1))
    list4 = list(df.filter(like='code', axis=1))
    list5 = list(df.filter(like='status', axis=1))
    entry= list1+list2+list3+list4+list5
return entry

Проблема: этот код работает, но он громоздкий, и мне интересно, есть ли лучшие способы добиться того же

Образец заголовков столбцов: 'ticket_id', 'agency_name', 'inspector_name', 'violator_name « «Код_прешения», «Описание_преступности», «Распоряжение», «штраф_амен», «Администратор_файла», «Состояние_файла», «Поздний_файл», «Скидка_амонт», «clean_up_cost», «суждение_amount», «payment_amount», «balance_due», «payment_date» ',' payment_status ',' collection_status ',' grafitti_status ',' compatibility_detail ',' compatibility ']

1 Ответ

1 голос
/ 22 марта 2020

Один способ, которым вы могли бы go об этом:

#create search collection of relevant terms
search='|'.join(['fee','address','code','name'])

#use the filter method in pandas with the regex option
#then drop the 'agency_name' column
#d is the dataframe

d.filter(regex=search,axis=1).drop('agency_name',axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...