изменить значение столбца на основе нескольких условий - PullRequest
0 голосов
/ 21 ноября 2018

Я видел много похожих постов, но ни один из них не отвечает на этот вопрос:

У меня есть фрейм данных с несколькими столбцами.Допустим, A, B и C

Я хочу изменить значение столбца A в зависимости от условий на A, B и C

Я до сих пор это получил, но не работает.

df=df.loc[(df['A']=='Harry') 
                   & (df['B']=='George') 
                   & (df['C']>'2019'),'A']=='Matt'

Так что, если А равен Гарри, а В равен Джорджу, а С больше 2019, то поменяйте А на Мэтт

Кто-нибудь увидит, что я сделал не так?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Вы также можете использовать np.where

df['A'] = np.where((df['A']=='Harry') & (df['B']=='George') & (df['C']>'2019'), 'Matt', df['A'])
0 голосов
/ 21 ноября 2018

Вы действительно близки, присвойте значение Matt фильтрованному A по логическим маскам:

df.loc[(df['A']=='Harry') & (df['B']=='George') & (df['C']>'2019'),'A'] = 'Matt'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...