如何在数据框中替换字符串结尾>>

问题描述 投票:2回答:5

我有一个看起来像这样的数据框df

      Company Name     
0        Finl Corp    
1          Fund Tr
2          Invt Fd               
3          Govt Fd
4      Trinity Inc

而且我要替换通常缩写的字符串:

df['Company Name'] = df['Company Name'].str.replace('Finl', 'Financial')
df['Company Name'] = df['Company Name'].str.replace('Tr', 'Trust')
df['Company Name'] = df['Company Name'].str.replace('Invt', 'Investment')
df['Company Name'] = df['Company Name'].str.replace('Fd', 'Fund')
df['Company Name'] = df['Company Name'].str.replace('Govt', 'Government')

但是当Tr是字符串的最后两个字符时,例如第Trust行(而不是第Tr行),如何用1 only

替换4

我可以做类似的事情吗?

df['Company Name'] = df['Company Name'].str.endswith(' Tr').replace(' Tr', ' Trust')

我有一个数据帧df,如下所示:公司名称0 Finl Corp 1基金Tr 2 Invt Fd 3 Govt Fd 4 Trinity Inc而且我是...

python pandas dataframe parsing replace
5个回答
4
投票

您可以使用$来匹配replace中的行尾:


1
投票

[使用replaceregex=True一次替换多个事物:


0
投票

编写def expand_trust(s):辅助函数,将“ Tr”替换为“ Trust”。


0
投票

如果首先用$选择必要的行并将它们等于相应的字符串,则不需要str.replace。>

我建议将文本/替换组放在字典中并循环执行,而不是反复覆盖整个df.loc列,例如:

© www.soinside.com 2019 - 2024. All rights reserved.