Pandas对应SQL的in和not in实现

时间:2021-09-29 17:49:41

在Pandas提供了pd.isin(),使用它可以实现SQL的in和not in。

not in 对应于:

~a.isin(b)

示例:

假如有以下dataframe数据,它包含了列data如下:

>>> df
  data
0   a
1   b
2   c
3   d

有数组数据arr

>>> arr
['b', 'd']

isin的使用

>>> df.data.isin(arr)
0    False
1     True
2    False
3     True
Name: data, dtype: bool
>>> df[df.data.isin(arr)]
  data
1   b
3   d
>>> df[~df.data.isin(arr)]
  data
0   a
2   c