Группировка по конкретному подмножеству идентификаторов - PullRequest
0 голосов
/ 31 октября 2019

Рассмотрим следующий код.

d=pd.DataFrame([[1,'a'],[1,'b'],[2,'c'],[2,'a'],[3,'c'],[4,'a'],[4,'c']],columns=['A','B'])

Я хочу сгруппировать по определенному набору идентификаторов в столбце A - те идентификаторы, которые соответствуют c. В данном случае это 2,3,4. Я написал для него следующий код:

d.groupby(d[d['B']=='c'].A).size().to_frame('size')

Он возвращает

A size
2  1
3  1
4  1

, но я хочу, чтобы он возвратил

A size
2  2
3  1
4  2

, потому что я хочу, чтобы размер указывал наколичество строк, содержащих значение в A. В чем проблема с моим кодом?

1 Ответ

0 голосов
/ 31 октября 2019

OK. Решено.

d.groupby(d.A).filter(lambda x:{'c'}.issubset(x["B"])).groupby(d.A).size().to_frame('size')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...