繁体   English   中英

在pandas字符串列中交换两个子字符串

[英]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_replacevalue ?):

['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.

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