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

时间:2017-12-12 19:11:42

标签: python pandas

我已经在Excel中看到了这一点,但我想将SOP和数字分成不同的列。它有点棘手,因为格式有时会有所不同。

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

1 个答案:

答案 0 :(得分:2)

使用.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 explained