Python Panda str.conține() cu hyperlink-uri în rânduri

0

Problema

Am doi ursi panda dataframes astfel:

df1

site-ul link-ul
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteX https://www.retailer_siteX.com

df2

site-ul link-ul
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteY https://www.retailer_siteY.com

Așa că vreau să merg prin df2 și de a găsi cazuri de link-uri de la df2 în df1. Aici e codul meu:

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

Când am imprimare boolean_findings, sunt toate false, care știu că nu poate fi adevărat, pentru că sunt meciuri la nivel local pe fișiere excel:

boolean_findings
False
False
...
False

Ceea ce vreau să știu este de ce hyperlink șir de text nu este compensată cu e echivalent pe primul df, și ce pot face pentru a se potrivi site-uri.

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

Cel mai bun răspuns

1

"Am aruncat o privire si am observat unele site-uri au un ( și ) incluse în link-uri, care ar putea fi aruncat de pe link-uri

Se pare că ai nevoie doar de cont pentru alfanumerice/caractere de subliniere atunci când se compară link-uri, puteți utiliza

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

La .str.replace(r'\W+','', regex=True) parte va elimina orice alte caractere decât litere, diacritice, cifre și conector de punctuație (cele mai frecvente char este de a sublinia printre ei) de la link-uri.

2021-10-23 10:27:53

Am si eu urmatoarea eroare pentru regex în a înlocui: TypeError: replace() takes no keyword arguments. Când am elimina regex=Truenu eroare dar nu-l înlocuiască, fie. Cred că o să se uite în re modul de a rezolva asta, dar vă mulțumim pentru a pune-mă pe calea cea dreaptă!
G H

@GH Asigurați-vă că utilizați cea mai recentă Panda versiune. pip install -U pandas. Acest cod a fost testat împotriva datelor și s-a dovedit de lucru.
Wiktor Stribiżew

În alte limbi

Această pagină este în alte limbi

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