熊猫:有没有办法比较两个系列,找到一个系列中最近的元素,而不是另一个系列?



我想找出是否有办法知道B系列中有但A系列中没有的数字。

Series A:
[2,3,4,6,7]
Series B:
[4,5,6,7,8,9]
Output Expected:
[5,8,9]

您可以将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一起使用通常不是最佳的。

最新更新