Отображение числа вхождений на основе критерия из CSV в Python - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть CSV с множеством столбцов, есть только два столбца, которые меня интересуют, это «Текстовое поле (Environment / s затронутые)» и «Текстовое поле (Rating)».

СредаВ столбце есть записи типа dev, test, prod.Столбец рейтинга содержит записи типа P1, P2, P3, P4, P5.

Мне нужно как-то наметить, сколько случаев было в каждой среде.Что было бы лучшим способом сделать это в Python?

Конечная цель будет выглядеть примерно так: P1 / P2 в тесте: 15 Всего в тесте: 30 P1 / P2 в стадии: 24 Всего в тесте: 30

P1 / P2 будетсовокупность из них, Total будет совокупностью других, то есть P3, P4, P5

1 Ответ

0 голосов
/ 10 февраля 2019

Вы отметили свой вопрос как pandas, поэтому я предполагаю, что ваши данные уже имеют форму DataFrame.Если это так, следующая команда должна выполнить:

df.groupby(['env', (df['rating'].isin(['P1', 'P2']))]).size().rename(index={True: 'P1/P2', False: 'Total'}, level=1)

(Предполагается, что ваш DataFrame имеет имя df, а ваши столбцы "Environment / s затронут" и "Rating" - envи rating соответственно.)

Выполняется группировка по первым уникальным значениям столбца env, а затем по столбцу rating в зависимости от того, является ли содержащееся в нем значение «P1» или'P2' или нет.Затем он подсчитывает количество строк в каждой подгруппе.

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

df = pd.read_csv(file_path)

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

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