Подсчет частоты значений по дате с использованием панд - Часть II - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть набор данных (набор данных1), который выглядит следующим образом:

Date        Company     Weekday

2015-01-01  Company1     Monday

2015-01-02  Company1     Tuesday

2015-01-03  Company1     Wednesday

2015-01-04  Company1     Thursday

2015-12-09  Company2     Monday

2015-12-10  Company2     Tuesday
………………………………………………………………………

2016-01-08  Company3     Wednesday

2016-01-09  Company3     Thursday

Затем я применяю следующий код:

dataset2 = dataset1.groupby(['Company','Weekday']).size().sort_values(ascending=False)

После применения вышеуказанного кода я получаюследующие результаты:

Index                        0

('Company1', Monday)        80

('Company1', Tuesday)       80

('Company1', Wednesday)     79
………………………………………………………………….

('Company3', Tuesday)       34

Я пытаюсь изолировать все записи набора данных2 со значениями счетчика выше 50, но я получаю все виды ошибок при попытке выполнить следующее:

dataset2=dataset2.loc[dataset2[0]>50]

Можеткто-нибудь высказать свое мнение?

1 Ответ

0 голосов
/ 20 ноября 2018

Работа с Series, поэтому необходимо:

dataset2 = dataset1.groupby(['Company','Weekday']).size().sort_values(ascending=False)
dataset2 = dataset2[dataset2 > 50]

Другое решение - добавить Series.reset_index с параметром name для DataFrame, а затем отфильтровать по столбцу count:

dataset2 = (dataset1.groupby(['Company','Weekday'])
                    .size()
                    .sort_values(ascending=False)
                    .reset_index(name='count'))

dataset2 = dataset2[dataset2['count'] > 50]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...