繁体   English   中英

在熊猫列中匹配网址的模式

[英]Match pattern of urls in a pandas column

我目前正在研究包含大量链接的drop。 到目前为止,我想过滤指向网站列表的链接。 所以我写了一个数组,其中包含每个网站的xxx值:www.xxx.de/com/whatever我想做的是检查每个列条目中是否有数组中的值。

list = ['forbes','bloomberg',...]
map = df['URL'].match(list)
df['URL'] = df.apply(map)

不知何故以这种方式。 我不太确定如何使用列中的链接,因为我之前从未使用过字符串。 链接采用以下格式:

www.forbes.com/.../...

有没有使用urlparse或类似的简单方法来完成这项工作?

非常感谢你的帮助!

我相信你需要extract新专栏:

df = pd.DataFrame({'URL':['www.forbes.com/.../...',
                          'www.bloomberg.com/something',
                          'www.webpage.com/something']})


L = ['forbes','bloomberg']
df['new'] = df['URL'].str.extract("(" + "|".join(L) +")", expand=False)
print (df)
                           URL        new
0       www.forbes.com/.../...     forbes
1  www.bloomberg.com/something  bloomberg
2    www.webpage.com/something        NaN

但是如果想要过滤行只使用contains

df = df[df['URL'].str.contains("|".join(L))]
print (df)
                           URL
0       www.forbes.com/.../...
1  www.bloomberg.com/something

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM