Лучший способ вхождения в групповой - PullRequest
0 голосов
/ 05 октября 2018

У меня есть некоторые данные, содержащие билеты.Все, что я хочу - это узнать, сколько из этих билетов было назначено Fields Techs в столбце «Комментарий».все билеты получили несколько записей (комментарий).

field_tech=logs_data[logs_data['Comment'].str.contains('Assigned:Fields Techs')]

# calculate the length of the subset


len(field_tech)

Я думал о том, чтобы сгруппировать их по комментариям, получить фрейм данных для каждого тикета, сохранить их в списке, а затем выполнить цикл по этому списку, чтобы получить эту информацию.Я знаю, что это обширные вычисления, но я не знаю, как подтвердить то, что я сделал, и я не знаю, как разбить все результаты моей группы в списке.

Я думаю, что правильные сценарии SQL будут выглядеть примерно так:

select tickets,Comment
from  logs
where Comment like 'Assigned:Fields Techs'
group by tickets

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я был закрыт для ответа сам.Я наконец получил это.Вот ответ:

logs_data[logs_data['Comment'].str.contains('Assigned:FieldsTechs')].groupby('Ticket')

 # Then I just get the length of the above for number of tickets assigned to tecks.

len(logs_data[logs_data['Comment'].str.contains('Assigned:Fields Techs')].groupby('Ticket'))
0 голосов
/ 05 октября 2018

Ваш текущий код выглядит хорошо, однако, если вы ищете несколько маленьких хитростей, чтобы сделать его действительно сложным, его также можно рассмотреть следующим образом:

field_tech=logs_data[logs_data['Comment'].str.contains('Assigned:*Techs$')]

В приведенном выше коде строки, если мы знаем тикетtype всегда Assigned:Fields Techs, поэтому мы можем обрезать его следующим образом: имя билета начинается с Assigned и всегда заканчивается Techs, поэтому мы не помещаем все целиком.

field_tech=logs_data[logs_data['Comment'].str.startswith('Assigned:Fields Techs')]

ВВ приведенной выше второй строке кода мы используем строку, которая начинается с, которая также будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...