How to make dataframeA None if A's Id exist in B

Viewed 36

dataframeA, dataframeB
Id, name

if I want to make dataframeA's name None if Id exist in dataframeB

dataframA

ID, name
1   jake

2   kim

dataframe B

   ID, name
   1, None

result

ID, name
1   None

2   kim

sub.apply(lambda x: None if x.ImageId in noimages_list else x.EncodedPixels)

1 Answers

Use Series.mask:

dfa['name'] = dfa['name'].mask(dfa['ID'].isin(dfb['ID']), None)

or

dfa.loc[dfa['ID'].isin(dfb['ID']), 'name'] = None
Related