regex 正则表达式从字符串中提取数字[重复]

jw5wzhpr  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(138)

此问题已在此处有答案

How do I extract numbers from the strings in a pandas column of 'object'?(2个答案)
2天前关闭。
我有一个数据框
df

id   file
134    file1
2452_1  file2
2233_2  file3 
3321    file4

我想创建一个新列,如果id包含“”,则使用id的第一位数,如果不包含“”,则使用整个id:

id      file    baseid
134     file1     134
2452_1  file2     2452
2233_2  file3     2233
3321    file4     3321

我尝试使用extract,但我不确定我需要的正则表达式。我试过了,但是不管用。对于不包含'_'的id,我没有得到我得到的数字NaN:

df["id"].str.extract(r'([0-9]+)_\d')
wfsdck30

wfsdck301#

可能的解决方案:

df.assign(baseid= df['id'].str.extract(r'^(\d+)'))

相关问题