Вы можете непосредственно присвоить столбцу:
m = (df['petal_length'] == 1.6) & (df['petal_width'] == 0.2)
df.loc[m, 'species'] = np.nan
Или исправить код.
df['species'] = np.where(m, np.nan, df['species'])
Или, используя Series.mask
:
df['species'] = df['species'].mask(m)