Панды изменяют значение столбца и изменяют другое значение столбца на основе этого - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть следующий фрейм данных, и я хочу добавить «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

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы также можете использовать 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
0 голосов
/ 27 февраля 2019

Используйте loc с условием isin:

df.loc[df['DROP'].isin([1,2]), ['DROP','MEAN']] = np.nan

Или сравнением для значения, не равного 0:

df.loc[df['DROP'] != 0, ['DROP','MEAN']] = np.nan
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...