蟒蛇的大熊猫str.包含()超链接在行

0

的问题

我有两只大熊猫数据帧像这样:

df1

网站 链接
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteX https://www.retailer_siteX.com

df2

网站 链接
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteY https://www.retailer_siteY.com

因此,我想通过df2和现实的联系,从df2在df1. 这是我的代号:

    for row in df2['link'].astype(str):
        boolean_findings = df1['link'].str.contains(row)

当我打印boolean_findings,我得到的所有错误的,我知道不可能是真的因为我看到匹配的上我的excel文件:

boolean_findings
...

我想知道的是为什么超级链接串的文本不是正在与这相当于在第一df,并什么我可以做到相匹配的网站。

dataframe hyperlink pandas python
2021-10-22 22:50:57
1

最好的答案

1

"我看一看和注意到一些网站上有一个 () 包括在他们的联系,这可能会被扔掉的链接

看来你需要的只有账户的字母数字/下划线的文字进行比较时链接,可以使用

df2["link"].str.replace(r'\W+','', regex=True).isin(
    df1["link"].str.replace(r'\W+','', regex=True))

.str.replace(r'\W+','', regex=True) 部分将删除任何字比其他字母,音、数字和连接器的标点符号(最常见的char是强调它们之间)从链接。

2021-10-23 10:27:53

我得到了以下错误为regex在更换: TypeError: replace() takes no keyword arguments. 当我删除了 regex=True它不会出错了,但它并不能取代它。 我想我会看到的 re 模块解决这事,但是谢谢你把我放在正确的道路上!
G H

@GH确保使用最新的大熊猫的版本。 pip install -U pandas. 这种代码已经过测试对你的数据,并证明工作。
Wiktor Stribiżew

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................