Подбор групп панд с использованием критериев - PullRequest
0 голосов
/ 11 июня 2018

У меня есть несколько веб-сайтов, пользователи которых обращаются к ним в разные даты.Я только хочу, чтобы веб-сайты были доступны первыми в определенный период времени:

sites = db.groupby('websitename')
newWebsites = (sites['date'].min() >= '2018-02-17') &
              (sites['date'].min() < '2018-02-24')

Это дает мне объект серии с True или False для каждого веб-сайта:

websitename
google.com                                     False
facebook.com                                   False
hooli.com                                      True
Name: date, Length: 70, dtype: bool

Я хотел бы рассчитать количество пользователей этих сайтов в следующие недели.Затем я делаю группировку по websitename и date:

siteDate = db.groupby(['websitename', 'date'])

Вызов siteDate['ga:Users'].sum() уже дает мне то, что я хочу:

websitename                                  date   
google.com                                   2018-04-03    1
facebook.com                                 2018-04-07    1
hooli.com                                    2018-02-17    1
                                             2018-02-20    1
                                             2018-03-07    1
                                             2018-03-08    3
Name: users, Length: 794, dtype: int64

Но теперь я хочу только конкретныесайты (указанные в newWebsites. В данном случае hooli.com).

Теперь я бы хотел выбрать все сайты, которые имеют True в newWebsites из siteDate.Я попытался:

siteDate[newWebsites]

Но это возвращает ошибку: 'Columns not found: False, True'

Что я понимаю, потому что панды ищет в siteDate столбцы True и False, которыене существует.Но как тогда выбрать правильные сайты?

1 Ответ

0 голосов
/ 11 июня 2018

Оператор [] в DataFrame выбирает столбцы по умолчанию.Чтобы выбрать строки, используйте .loc[]:

siteDate['ga:Users'].sum().loc[newWebsites]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...