在 python 中用 Panda 反转特殊字符
Reverse special charcters with Panda in python
假设我在名为 A 的列中有一个这样的字符串:
A00001-BL - A00002-BL
D00002-BL-D00003-BL
FA0003 -BL- FA0005-BL
现在我只想反转下面的数字并将其放在 B 列中,其中 lambda 和熊猫 python 或任何其他方式:
A00002-BL - A00001-BL
D00003-BL-D00002-BL
FA0005 -BL- FA0003-BL
我有超过 300000 行具有不同的字符,我必须对所有行应用此还原。
您可以使用 str.replace
:
df.A.str.replace(r'^(\w+\s*-\s*\w+)(\s*-\s*)(.*)$',r'')
输出:
0 A00002-BL - A00001-BL
1 D00003-BL-D00002-BL
2 FA0005-BL- FA0003 -BL
Name: A, dtype: object
有关第一个正则表达式字符串的解释,请参阅 regex101。第二个正则表达式字符串只是意味着你颠倒了前者中的三个捕获组。
假设我在名为 A 的列中有一个这样的字符串:
A00001-BL - A00002-BL
D00002-BL-D00003-BL
FA0003 -BL- FA0005-BL
现在我只想反转下面的数字并将其放在 B 列中,其中 lambda 和熊猫 python 或任何其他方式:
A00002-BL - A00001-BL
D00003-BL-D00002-BL
FA0005 -BL- FA0003-BL
我有超过 300000 行具有不同的字符,我必须对所有行应用此还原。
您可以使用 str.replace
:
df.A.str.replace(r'^(\w+\s*-\s*\w+)(\s*-\s*)(.*)$',r'')
输出:
0 A00002-BL - A00001-BL
1 D00003-BL-D00002-BL
2 FA0005-BL- FA0003 -BL
Name: A, dtype: object
有关第一个正则表达式字符串的解释,请参阅 regex101。第二个正则表达式字符串只是意味着你颠倒了前者中的三个捕获组。