从数据帧列中的字符串中提取数值信息



我已经在Excel中看到了这一点,但是我想将SOP和数字分为不同的列。由于格式有时有时不同,因此会变得有些棘手。

0   SOP-015641
1   SOP-007809
2   SOP018262
3   SOP-007802
4   SOP-007804
5   SOP-007807

使用.str.extract()方法:

In [8]: df[['a','b']] = df.pop('col').str.extract('(D+)(d+)', expand=True)
In [9]: df
Out[9]:
      a       b
0  SOP-  015641
1  SOP-  007809
2   SOP  018262
3  SOP-  007802
4  SOP-  007804
5  SOP-  007807

REGEX解释

最新更新