Панды: Есть ли способ сравнить две серии и найти элементы, которые недавно были в одной серии, но не в другой? - PullRequest
0 голосов
/ 06 октября 2018

Я хочу выяснить, есть ли способ узнать числа, которые есть в серии B, но не в серии A.

Series A:
[2,3,4,6,7]

Series B:
[4,5,6,7,8,9]

Output Expected:
[5,8,9]

1 Ответ

0 голосов
/ 06 октября 2018

Вы можете использовать pd.Series.isin с логическим индексированием:

A = pd.Series([2,3,4,6,7])
B = pd.Series([4,5,6,7,8,9])

res = B[~B.isin(A)].values

array([5, 8, 9], dtype=int64)

или вариант NumPy:

res = B.values[~np.isin(B.values, A.values)]

Вы также можете использовать set.difference:

res = list(set(B) - set(A))

[8, 9, 5]

Обратите внимание, однако, что использование встроенных модулей с Pandas / NumPy обычно не оптимально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...