[英]Interchanging two substrings in a pandas string column
我想在Pandas DataFrame中用自身的一部分替换字符串。
例:
将MSc Joe L. Scott
改为Joe L. Scott MSc
所以只需要移动MSc。 我可以使用正则表达式修复此问题,但不知道如何使用Pandas DataFrame执行此操作
result = re.sub(r'(MSc)(.*)' , r'\2 \1',s)
我在考虑这样的事情(但是这里有什么to_replace
和value
?):
['Name_modified'].replace(regex=True, inplace=True, to_replace= **??**, value=**??**)
或者使用DataFrame.sub()
但是尽管有文档,但我还是没有完成
作为一个人为的例子,请考虑一下
df = pd.DataFrame({'Name' : ['MSc Joe L. Scott', 'BSc J. Doe']})
df
Name
0 MSc Joe L. Scott
1 BSc J. Doe
你可以在这里使用str.replace
和反向引用。 这可以轻松处理多种不同的名称。
designations = ['MSc', 'BSc']
df['Name_modified'] = df['Name'].str.replace(
rf"^({'|'.join(designations)})\s(.*)$", r"\2 \1")
df
Name Name_modified
0 MSc Joe L. Scott Joe L. Scott MSc
1 BSc J. Doe J. Doe BSc
您可以返回此结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.