我相信需要
isin
具有
boolean indexing
:
同时省略
NaN
默认情况下s行链新条件:
#changed df2 with no NaN in C column
df2 = pd.DataFrame({'C':[4, 5, 5, 'SSS','FFF','KKK','AAA'],
'D':[np.nan,np.nan,np.nan,1,np.nan,np.nan,np.nan]})
print (df2)
C D
0 4 NaN
1 5 NaN
2 5 NaN
3 SSS 1.0
4 FFF NaN
5 KKK NaN
6 AAA NaN
df = df1[~(df1['A'].isin(df2['C']) | (df1['A'].isnull()))]
print (df)
A B
5 DDD NaN
如无必要,省略
南安
如果不存在,则为
C
列:
df = df1[~df1['A'].isin(df2['C'])]
print (df)
A B
0 NaN NaN
1 NaN NaN
2 NaN ciao
5 DDD NaN
如果存在
南安
两列中的使用第二种解决方案:
(输入
DataFrame
s来自问题)
df = df1[~df1['A'].isin(df2['C'])]
print (df)
A B
5 DDD NaN