繁体   English   中英

在数据框中全局替换部分字符串

[英]Replace part of string globally in dataframe

我有以下数据框:

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

我正在编写一个匹配条件并在全局执行此类替换的函数。 如果有更好的解决方案,请提出建议。

谢谢

您可以使用字典使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM