[英]Python Pandas str.contains() with hyperlinks in rows
我有两个熊猫数据框,如下所示:
df1
地点 | 关联 |
---|---|
零售商_site1 | https://www.retailer_site1.com |
... | ... |
零售商_siteX | https://www.retailer_siteX.com |
df2
地点 | 关联 |
---|---|
零售商_site1 | https://www.retailer_site1.com |
... | ... |
零售商站点Y | https://www.retailer_siteY.com |
所以我想通过df2并在df1中找到来自df2的链接实例。 这是我的代码:
for row in df2['link'].astype(str):
boolean_findings = df1['link'].str.contains(row)
当我打印 boolean_findings 时,我得到的都是假的,我知道这不可能是真的,因为我在我的 excel 文件中看到本地匹配:
boolean_findings |
---|
错误的 |
错误的 |
... |
错误的 |
我想知道的是为什么超链接字符串文本没有与第一个 df 上的等效文本匹配,以及我可以做些什么来匹配站点。
"我看了一下,注意到有些网站的链接中包含
(
和)
,这可能会丢弃链接
在比较链接时,您似乎只需要考虑字母数字/下划线字符,您可以使用
df2["link"].str.replace(r'\W+','', regex=True).isin(
df1["link"].str.replace(r'\W+','', regex=True))
.str.replace(r'\\W+','', regex=True)
部分将从链接中删除除字母、变音符号、数字和连接符标点符号(其中最常见的字符是下划线)以外的任何字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.