Заменить часть строки глобально в кадре данных - PullRequest
0 голосов
/ 27 января 2020

У меня есть следующий фрейм данных:

id   feature
1    p.Asp25Asn
2    p.Gly25Asn
3    p.Ile20Tyr

Я хочу заменить часть столбца «функция».

Например: Asp при совпадении следует заменить на 'D'. Asn при совпадении следует заменить на 'N' и т. Д. Для других значений столбцов, таких как Gly -> G, Ile -> I, Tyr -> Y

Ожидаемый результат:

id   feature
1    p.D25N
2    p.G25N
3    p.I20Y

Я пишу функцию, которая соответствует условию, и выполняю такую ​​замену глобально. Если есть лучшее решение, пожалуйста, предложите.

Спасибо

1 Ответ

2 голосов
/ 27 января 2020

вы можете использовать pandas .DataFrame.replace , используя словарь.

df=pd.DataFrame({'id':[1,2,3],'feature':['p.Asp25Asn','p.Gly25Asn','p.Ile20Tyr']})
>>>df
   id     feature
0   1  p.Asp25Asn
1   2  p.Gly25Asn
2   3  p.Ile20Tyr

mydict={'Asp':'D','Asn':'N','Gly':'G','Ile':'I','Tyr':'Y'}
df = df.replace({"feature": mydict},regex=True)
>>>df
   id   feature
0   1    p.D25N
1   2    p.G25N
2   3    p.I20Y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...