假设我的df看起来像:
Col A Col B
red red
blue pink
green green
orange green
black black
我的输出应该是:
Col A Col B
red nan
blue pink
green nan
orange green
black nan
我怎样才能做到这一点?
您可以使用Series.mask
:
df['Col B'] = df['Col B'].mask(df['Col A'] == df['Col B'])
Col A Col B
0 red NaN
1 blue pink
2 green NaN
3 orange green
4 black NaN
我真的很喜欢接受答案中的Series.mask方法,但我想我也应该尝试.apply方法:
df['ColB'] = df.apply(lambda x: np.NaN if x['ColA']==x['ColB'] else x['ColB'], axis=1)