Python Pandas str.zawiera() z hiperłączami w wierszach

0

Pytanie

Mam dwie ramki danych pandy, to tak:

df1

Strona Link
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteX https://www.retailer_siteX.com

df2

Strona Link
retailer_site1 https://www.retailer_site1.com
... ...
retailer_siteY https://www.retailer_siteY.com

Dlatego chcę przejść przez df2 i znaleźć egzemplarze z linków df2 w df1. Oto mój kod:

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

Kiedy piszę boolean_findings, mam wszystkie fałszywe, co, jak wiem, nie może być prawdą, bo widzę zbieżności lokalnie w plikach programu excel:

logiczne powiązania
Fałszywy
Fałszywy
...
Fałszywy

Chcę wiedzieć, dlaczego tekst hiperłącza nie jest mapowany z jego odpowiednikiem w pierwszym df, i co mogę zrobić, aby dopasować internetowych.

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

Najlepsza odpowiedź

1

"Spojrzałem i zauważyłem, że na niektórych stronach internetowych istnieje ( i ) zawarte w ich linki, co może spowodować usunięcie linków

Wygląda na to, trzeba wziąć pod uwagę tylko znaki alfanumeryczne/znaki podkreślenia w porównaniu linków, które można użyć

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

To .str.replace(r'\W+','', regex=True) część usunie wszystkie symbole, z wyjątkiem liter, znaków diakrytycznych, cyfry i znaki interpunkcyjne łącznika (najczęściej symbolem wśród nich jest podkreślenie) z łącza.

2021-10-23 10:27:53

Mam następujący błąd dla wyrażenia regularnego w wymianie: TypeError: replace() takes no keyword arguments. Gdy usunę regex=Trueto nie prowadzi do błędu, ale i nie zastępuje go. Myślę, że zobaczę w re moduł, aby zorientować się w tym, ale dziękuję, że prowadzą mnie na właściwą drogę!
G H

@GH Upewnij się, że korzystasz z najnowszej wersji Pandas. pip install -U pandas. Ten kod został przetestowany na zgodność twoich danych i udowodnił swoją zdolność do pracy.
Wiktor Stribiżew

W innych językach

Ta strona jest w innych językach

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