在python中用熊猫反转特殊字符
Posted
技术标签:
【中文标题】在python中用熊猫反转特殊字符【英文标题】:Reverse special charcters with Panda in python 【发布时间】:2021-02-23 12:36:09 【问题描述】:假设我在名为 A 的列中有这样的字符串:
A00001-BL - A00002-BL
D00002-BL-D00003-BL
FA0003 -BL- FA0005-BL
现在我只想将下面的数字颠倒过来,用 lambda 和 python 中的 panda 或任何其他方式将其放在 B 列中:
A00002-BL - A00001-BL
D00003-BL-D00002-BL
FA0005 -BL- FA0003-BL
我有超过 300000 行不同的字符,我必须对所有这些行应用这种还原。
【问题讨论】:
【参考方案1】:你可以使用str.replace
:
df.A.str.replace(r'^(\w+\s*-\s*\w+)(\s*-\s*)(.*)$',r'\3\2\1')
输出:
0 A00002-BL - A00001-BL
1 D00003-BL-D00002-BL
2 FA0005-BL- FA0003 -BL
Name: A, dtype: object
有关第一个正则表达式字符串的说明,请参阅regex101。第二个正则表达式字符串只是意味着您颠倒了前者中的三个捕获组。
【讨论】:
以上是关于在python中用熊猫反转特殊字符的主要内容,如果未能解决你的问题,请参考以下文章
在数据库 django 中用特殊字符定义特定数字的最佳方法是啥
仅反转句子中字母表的字符串,而不是java中的数字或特殊字符
PySpark:读取 pyspark 框架中的 csv 数据。为啥它在框架中显示特殊字符?除了使用熊猫之外,以表格形式显示的任何方式[重复]