2024-03-29 13:07:43 发布
网友
我有一个列的名字是这样的:
1:Arnston 2:Berg 3:Carlson 53:Brown
我想去掉:之前的所有字符。我知道我可以重命名这些列,但这将是相当乏味的,因为我的数字增加到100。在
:
我想要的输出是:
阿恩斯顿伯格卡尔森布朗
import re s = '1:Arnston 2:Berg 3:Carlson 53:Brown' s_minus_numbers = re.sub(r'\d+:', '', s)
抓住你
假设你有一个像这样的框架:
>>> df 1:Arnston 2:Berg 3:Carlson 53:Brown 0 5 0 2 1 1 9 3 2 9 2 9 2 9 7
可以使用矢量化字符串运算符在第一个冒号处拆分每个条目,然后获取第二部分:
IMO的最佳解决方案是在列上使用pandas的str属性。这允许使用正则表达式而不必导入re:
str
re
df.columns.str.extract(r'\d+:(.*)')
其中regex的意思是:选择一个或多个数字(\d+)和冒号(:)后面的所有内容((.*))。在
\d+
(.*)
抓住你
^{pr2}$假设你有一个像这样的框架:
可以使用矢量化字符串运算符在第一个冒号处拆分每个条目,然后获取第二部分:
^{pr2}$IMO的最佳解决方案是在列上使用pandas的
str
属性。这允许使用正则表达式而不必导入re
:其中regex的意思是:选择一个或多个数字(
\d+
)和冒号(:
)后面的所有内容((.*)
)。在相关问题 更多 >
编程相关推荐