заменить значения из столбца в другой, если он содержит 2 подстроки - PullRequest
0 голосов
/ 15 октября 2019

У меня есть df вроде этого:

            xx    yy
AAsdsd_ss   3     2
AAassa_ss   3     1
CC          4     7 
DD          7     6

Мне бы хотелось, чтобы индекс str.contain AA и _ss подставлял значения столбца yy в xx для генерации следующего вывода:

            xx    
AAsdsd_ss   2     
AAassa_ss   1         
CC          4      
DD          7    

Как мне этого добиться?

1 Ответ

1 голос
/ 15 октября 2019

IIUC:

df.loc[df.index.to_series().str.match('^AA.*_ss$'), 'xx'] = df['yy'] 

Выход:

           xx  yy
AAsdsd_ss   2   2
AAassa_ss   1   1
CC          4   7
DD          7   6

Примечание : код соответствует AA в начале и _ss в конце. Если вы просто хотите их где угодно, в любом порядке:

s = df.index.to_series()
df.loc[s.str.contains('AA') & s.str.contains('_ss'), 'xx'] = df['yy']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...