令人惊讶的是,我无法在pandas DataFrames中找到SQL的"NOT IN"运算符的类似物.
A = pd.DataFrame({'a':[6,8,3,9,5],
'b':['II','I','I','III','II']})
B = pd.DataFrame({'c':[1,2,3,4,5]})
Run Code Online (Sandbox Code Playgroud)
我想要所有的行A,它a不包含来自B's的值c.就像是:
A = A[ A.a not in B.c]
Run Code Online (Sandbox Code Playgroud)
我认为你真的很接近 - 需要isin使用~否定布尔掩码 - 而是list使用Series B.c:
print (~A.a.isin(B.c))
0 True
1 True
2 False
3 True
4 False
Name: a, dtype: bool
A = A[~A.a.isin(B.c)]
print (A)
a b
0 6 II
1 8 I
3 9 III
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |