У меня есть следующий фрейм данных, и я хочу добавить «NaN» к значениям «1» и «2» в столбце «DROP», а также изменить соответствующие значения столбца «MEAN» на «NaN».
print (df) Flow DROP MEAN 0 1 0 0.025 1 2 1 2.900 2 3 2 2.800 3 4 0 0.020
После:
print (df) Flow DROP MEAN 0 1 0.0 0.025 1 2 NaN NaN 2 3 NaN NaN 3 4 0.0 0.020
Вы также можете использовать np.where :
df['DROP'], df['MEAN'] = np.where(df.DROP != 0, np.nan, df['DROP']), np.where(df.DROP != 0, np.nan, df['MEAN'])
Результат:
Flow DROP MEAN 0 1 0.0 0.025 1 2 NaN NaN 2 3 NaN NaN 3 4 0.0 0.020
Используйте loc с условием isin:
loc
isin
df.loc[df['DROP'].isin([1,2]), ['DROP','MEAN']] = np.nan
Или сравнением для значения, не равного 0:
0
df.loc[df['DROP'] != 0, ['DROP','MEAN']] = np.nan