我有一个数据帧df
,看起来像这样:
Company Name ID
0 Finl Corp 111
1 Fund Tr 222
2 Invt Fd 333
3 Govt Fd 444
4 Trinity Inc 555
我正在替换通常缩写的字符串:
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
是字符串的最后两个字符时,如行1
(而不是行4
),如何仅用Trust
替换Tr
我可以做类似的事情吗
df['Company Name'] = df['Company Name'].str.endswith(' Tr').replace(' Tr', ' Trust')
以便输出:
Company Name ID
0 Financial Corp 111
1 Fund Trust 222
2 Investment Fund 333
3 Government Fund 444
4 Trinity Inc 555
编写
def expand_trust(s):
辅助函数, 这将“Tr”替换为“Trust”然后使用^{} 修改数据帧:
您的助手可以使用
.endswith( ... )
, 但是您可能会发现正则表达式中的$
更方便您可以使用
$
匹配replace
中的行尾:使用
replace
替换regex=True
一次替换多个内容:相关问题 更多 >
编程相关推荐