我有一个变量为url
的df
。url
中的每个url字符串在URL字符串中都有一个唯一的六个字符的字母数字ID。我一直在尝试提取每个字符串的特定部分,即所有urls中的article_id
,然后将其作为新变量添加到df
中。
例如,xwpd7w
是https://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapo
的article_id
如何根据urls在/article/
旁边的位置从df中的所有urls中提取article_ids
?使用任何方法,是否使用正则表达式?
到目前为止,我已经完成了以下工作:
df.url.str.split()
ex output: [https://www.vice.com/en_au/article/j539yy/smo...
df['cutcurls'] = df.url.str.join(sep=' ')
ex output: h t t p s : / / w w w . v i c e . c o m / e n
有什么想法吗?
发布于 2019-10-10 17:27:05
应用"str.extract“方法。
df=pd.DataFrame({"url":["https://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapo","https://www.www.www//en_us/article/idId2019/buzzwords"]})
df["articel_id"]= df.url.str.extract(r"/article/([^/]+)")
Out:
url articel_id
0 https://www.vice.com/en_us/article/xwpd7w/how-... xwpd7w
1 https://www.www.www//en_us/article/idId2019/bu... idId2019
(^/+):分组连续的非'/‘字符
https://stackoverflow.com/questions/58327734
复制相似问题