我的数据框中有大约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
有人知道我错了吗?如果有更好,更快的解决方案,我将非常感谢您的建议。
谢谢。
答案 0 :(得分:1)
您可以使用
df['wanted_column'] = df['column'].str.extract(r'(\d+/\d+/\d+)', expand=True)
^ ^
重点是当与str.extract
一起使用时,仅在正则表达式中使用单个捕获组。