【发布时间】:2020-04-08 12:31:21
【问题描述】:
我有一个使用“2Nd”而不是“2nd”、“136Th”而不是“136th”等的 pandas DataFrame。我希望紧跟在数字后面的字母是小写的。
样本数据:
data = pd.Series(['21St StNew York', 'Exampe BlvdSt Louis', '1St Rd'])
期望的输出:
['21st StNew York', 'Exampe BlvdSt Louis', '1st Rd']
尝试使用str.replace():
data = data.str.replace('\BSt', 'st', regex=True)
['21st StNew York', 'Exampe Blvdst Louis', '1st Rd']
是否可以使用捕获组?
data = data.str.replace('[0-9]+(St)', 'st', regex=True)
['st StNew York', 'Exampe BlvdSt Louis', 'st Rd']
【问题讨论】: