Группировка по в python с использованием фильтра criterea

#python

#python

Вопрос:

У меня есть набор данных, в котором я хочу отфильтровать объекты, обозначаемые «Номером хранилища», по тому, работали ли они в течение года. У меня есть столбец месяца, в котором числа от 1 до 12 обозначают месяцы года.

введите описание изображения здесь

Например, в приведенном выше наборе данных мне нужно извлечь хранилище 457 ТОЛЬКО в том виде, в котором оно содержит все месяцы с 1 по 12.

Я хочу выполнять вышеупомянутое упражнение в течение двух лет: 2015 и 2016. Мой набор данных состоит из обоих лет.

Я использую следующий код для создания нового фрейма данных для 2015 и 2016 годов:

 iowa15 = iowa[(iowa['year'] == 2015)]
iowa16 = iowa[(iowa['year'] == 2016)]
 

После этого я кодирую:

 iowa15_filter = iowa15.loc[iowa15.groupby('Store Number').month.filter(lambda x: x.nunique()==12).index]
iowa16_filter = iowa16.loc[iowa16.groupby('Store Number').month.filter(lambda x: x.nunique()==12).index]
 

После того, как я выполнил вышеизложенное, я запускаю:

 iowa15_filter['Store Number'].nunique() 
iowa16_filter['Store Number'].nunique()
 

Для 2016 года он дает мне 0 записей. Может кто-нибудь помочь, что я делаю неправильно