传递的项目数不正确4,使用正则表达式提取时,位置暗含1

时间:2018-10-14 12:03:36

标签: python regex pandas dataframe

我的数据框中有大约200万行的列,如下所示:

column
1/20/1"ADAF"
1/4/551BSSS
1/2/1AAAA
1/565/1 "AAA="

我只想提取:

1/20/1
1/4/551
1/2/1
1/565/1

我尝试过:

df['wanted_column'] = df['column'].str.extract(r'((\d+)/(\d+)/(\d+))', expand=True)

但是我得到一个错误:

ValueError: Wrong number of items passed 4, placement implies 1

有人知道我错了吗?如果有更好,更快的解决方案,我将非常感谢您的建议。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用

df['wanted_column'] = df['column'].str.extract(r'(\d+/\d+/\d+)', expand=True)
                                                 ^           ^

重点是当与str.extract一起使用时,仅在正则表达式中使用单个捕获组。