我在数据集中有一列,其格式如下:
'XX4H30M'
我需要把这些序列中的数字提取成两列(“H”和“M”)。在
如果格式与所描述的完全相同,则以下内容符合我的需要:
^{pr2}$
然而,本系列中的许多单元格只包含
^{3}$
或XX3H
有没有一种方法可以选择性地提取这些模式来插入到全局数据框中?在
对于一组具体的例子:
df = pd.DataFrame({'A': ['XX1H30M', 'XX45M', 'XX2H'])
最后会变成
Out:
A H M
0 XX1H30M 1 30
1 XX45M 0 45
2 XX2H 2 0
Tags:
你可以试试这样的方法:
输出:
^{pr2}$另一个在一个步骤中提取}和{}捕获为命名组;要避免由于两个组都是可选的而匹配空字符串,请在模式的开头添加一个前瞻性断言{}:
H
和M
的选项,这里使用(?:(?P<H>\d+)H)?(?:(?P<M>\d+)M)?
将{这比单独提取要快一些:
^{pr2}$相关问题 更多 >
编程相关推荐