Панды возвращают подмножество на основе columnA.isin.list (columnB) - PullRequest
1 голос
/ 07 апреля 2019

У меня есть датафрейм как таковой:

             userid  number  weight mask
0    17cf2504d0c7       1      1    56
1    17cf2504d0c7       2      5    56
2    17cf2504d0c7       3      3    123

Я просто пытаюсь вернуть подмножество, в котором "вес" появляется в списке чисел "маска"

             userid  number  weight mask
1    17cf2504d0c7       2      5    56
2    17cf2504d0c7       3      3    123

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

1 Ответ

2 голосов
/ 07 апреля 2019

Ну, одним из способов было бы преобразовать ваши целые числа в set и использовать вычитание набора.

mask_ = df.weight.astype(str).apply(set).sub(df['mask'].astype(str).apply(set)).str.len().eq(0)

Тогда

df.loc[mask_, :]


    userid          number  weight  mask
1   17cf2504d0c7    2       5       56
2   17cf2504d0c7    3       3       123
...