Python Pandas str.contains() 行中有超链接
Python Pandas str.contains() with hyperlinks in rows
我有两个 pandas 数据帧,如下所示:
df1
site
link
retailer_site1
https://www.retailer_site1.com
...
...
retailer_siteX
https://www.retailer_siteX.com
df2
site
link
retailer_site1
https://www.retailer_site1.com
...
...
retailer_siteY
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
False
False
...
False
我想知道的是为什么超链接字符串文本在第一个 df 上没有匹配到它的等效项,以及我可以做些什么来匹配这些网站。
"I took a look and noticed some websites have a (
and )
included in their links, which might be throwing off the links
比较链接时好像只需要考虑alphanumeric/underscore个字符,可以用
df2["link"].str.replace(r'\W+','', regex=True).isin(
df1["link"].str.replace(r'\W+','', regex=True))
.str.replace(r'\W+','', regex=True)
部分将从链接中删除除字母、变音符号、数字和连接标点符号(最常见的字符是其中的下划线)以外的任何字符。
我有两个 pandas 数据帧,如下所示:
df1
site | link |
---|---|
retailer_site1 | https://www.retailer_site1.com |
... | ... |
retailer_siteX | https://www.retailer_siteX.com |
df2
site | link |
---|---|
retailer_site1 | https://www.retailer_site1.com |
... | ... |
retailer_siteY | 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 |
---|
False |
False |
... |
False |
我想知道的是为什么超链接字符串文本在第一个 df 上没有匹配到它的等效项,以及我可以做些什么来匹配这些网站。
"I took a look and noticed some websites have a
(
and)
included in their links, which might be throwing off the links
比较链接时好像只需要考虑alphanumeric/underscore个字符,可以用
df2["link"].str.replace(r'\W+','', regex=True).isin(
df1["link"].str.replace(r'\W+','', regex=True))
.str.replace(r'\W+','', regex=True)
部分将从链接中删除除字母、变音符号、数字和连接标点符号(最常见的字符是其中的下划线)以外的任何字符。